44 · Saves · 2D and 3D

Save versioning and migration

Old saves keep working after you update the game.

Every update that renames, removes or restructures saved data can break existing saves. Putting a version number in every save file and writing a small upgrade step for each version means old saves are converted on load. It is the difference between a smooth patch and angry reviews about lost progress.

←↑↓→ or WASD moveK save · U update · L load · M migration · R resetUse the buttons

Try this: Collect coins and gems, press Save, then Update to v2 and Load. Without migration the v2 game cannot read your v1 save and you lose everything. Reset, turn migration on, and repeat.

Collect coins and gems, then Save.

Prompt bit

Works for 2D or 3D in any engine (Unity, Unreal, Godot, web). Paste the short one for a quick fix, or the detailed one when you want it done properly.

Version every save: store a version number, keep one migration function per version (v1 to v2, v2 to v3), run them in order on load after backing up the file, and keep it under 0.5 s so ten-update-old saves still open.

41 words · one sentence to paste as is

Where it's used

Common mistakes

No version field, editing an old migration after release, jumping straight from v1 to the current shape instead of chaining steps, deleting the original before the migration succeeds, and never testing with real old save files.

Writing this with an AI assistant? See our best AI coding assistants for game developers.

Missing a concept? Request one.

Related concepts

New concepts, in your inbox.

One short email when we add new concepts, plus our weekly roundup of AI tools for game devs. Unsubscribe any time.