Agent skill · Databases

save-systems

Design save/load for game state — choosing what to serialize, file formats, save slots, atomic crash-safe writes, schema versioning and migration, and autosave. Engine-neutral. Use when the user mentions save system, save/load, game state persistence, save slots, autosave, save file corruption, or migrating old saves to a new version.

gamedev-skillsgithub.com/gamedev-skillsGitHub ↗
claude-codeclinecodexcursorcopilotwindsurfApache-2.0
Install
npx skills add gamedev-skills/awesome-gamedev-agent-skills --skill save-systems --agent claude-code

Same command for any agent — swap --agent for codex, cursor, copilot.

Facts
Files in the skill folder: 2
SKILL.md size: 7 KB
Bundled scripts: none
Requires: Engine-agnostic. Snippets in GDScript-like / Python pseudocode; pairs with Godot FileAccess/ResourceSaver, Unity…
Path: skills/disciplines/save-systems/SKILL.md
Open the folder on GitHub →
Where it comes from
Stars: 406
Language: Python

Weekly change comes from our own snapshots, not the repository page — it measures attention, not adoption.

From the SKILL.md

# Save systems A save file is a **serialized snapshot of game state** that survives restarts. The hard parts aren't writing bytes — they're choosing *what* to save, writing it so a crash mid-save can't corrupt it, and reading *old* saves after you ship a patch. Get those three right and the rest is plumbing. ## When to use - Use to persist progress: player stats, inventory, world flags, settings, positions — across sessions and game updates. - Use to design save slots, quicksave/autosave, and crash-safe writes. - Use when old save files break after a content/code change (versioning & migration). **When *not* to use:** for Roblox cloud persistence specifics, use `roblox-datastores`. For the data model the save serializes (resources/SOs), use `godot-resources` / `unity-scriptableobjects`. For Godot's `FileAccess`/ `ResourceSaver` and `user://` paths, defer to the Godot engine skill while applying the patterns here. ## Core workflow 1. **Decide what state is authoritative.** Save the *data* (hp, position, seed, unlocked flags), not engine objects or scene nodes. You will reconstruct objects from data on load — never serialize live node references. 2. **Define a versioned schema.** Eve

What's inside
Steps it walks through
  1. When to use
  2. Core workflow
  3. Patterns
  4. 1. Serialize state as plain data (not engine objects)
  5. 2. Atomic, crash-safe write (temp + rename)
  6. 3. Versioned load with migration
  7. 4. Save slots + throttled autosave
  8. Pitfalls
  9. References
  10. Related skills
Ships with 1 file
  • references/versioning-and-migration.md
More from awesome-gamedev-agent-skills
All skills →
About this skill
What does the save-systems skill do?

Design save/load for game state — choosing what to serialize, file formats, save slots, atomic crash-safe writes, schema versioning and migration, and autosave. Engine-neutral. Use when the user mentions save system, save/load, game state persistence, save slots, autosave, save file corruption, or migrating old saves to a new version.

How do I install it?

Run `npx skills add gamedev-skills/awesome-gamedev-agent-skills --skill save-systems --agent claude-code` — it drops the skill into your project so the agent can pick it up. Swap the --agent value for codex, cursor or copilot if you use one of those.

Where does this skill come from?

From gamedev-skills/awesome-gamedev-agent-skills, a repository with 406 stars. We read it straight from the repository tree rather than a submitted listing, so what you see here is what is actually published.

Is a popular skill a good skill?

Not necessarily. Stars measure attention, not adoption — a repository can trend for a week and be abandoned. That is why we show the weekly change from our own snapshots next to the total, instead of a single flattering number.

Keep going