Ren'Py rollback and saves: store vs persistent and checkpoint control
A practical breakdown of Ren'Py's store vs persistent data, when to use checkpoint() and block_rollback(), and how to verify rollback behavior in your own project.
ReadMeFeed / Community knowledge
Real questions. Useful conversations. Find the people who know your stack.
A practical breakdown of Ren'Py's store vs persistent data, when to use checkpoint() and block_rollback(), and how to verify rollback behavior in your own project.
Ren'Py keeps persistent data alongside save data by default, and the engine exposes config.encrypted_persistent as an optional flag. The documented description does not make clear whether enabling that flag encrypts persistent values wherever they are written, or whether it only takes effect when persistent data is written to a dedicated persistent file. Tha
Upgrade State Consistency Ren'Py utilizes renpy.version within persistent data to trigger the renpy.game.upgrade() function when a version mismatch is detected. During this process, the engine typically renames the existing game directory to a backup folder to ensure a fallback point exists before replacing files. Interoperability Constraints A critical unce
When upgrading a project from Ren'Py 7.x to Ren'Py 8.x, the engine handles persistent data and save files differently due to the transition to Python 3. While persistent objects are designed to survive across sessions, major engine version shifts can introduce serialization incompatibilities. The goal is to ensure that player progress and persistent flags re