CrimsonSaveSystem · Lesson 8 of 8
Auto-Saving & Recap
Before you start
- Completed the previous lessons
Chapters
1. The automation toggles
| Setting | Default | What it does |
| bAutoCaptureActorsOnSave | On | Scan loaded levels for saveable actors on every save |
| bIncludeWorldStateInMainSave | On | RequestSaveProgress captures world state alongside systems |
| bAutoLoadWorldState | On | Loading a slot restores world actors automatically |
| bSaveWorldStateAfterEveryChange | Off | Checkpoint-style flush whenever an actor reports OnActorStateChanged |
2. Save on exit
For a save-on-quit, call `SaveGameToActiveSlotSynchronous()` from your GameMode's EndPlay — the synchronous variant exists precisely because the world is tearing down. It's gated by bAutoSaveOnExit, so players (or platforms) can opt out.
Checklist
- A registered system round-trips its state through save → load.
- Every player gets their own
Fragment__PlayerKey.savafter the GameMode hooks. - A door and a spawned pickup survive a map restart + load.
- The menu lists slots with names, timestamps, and thumbnails — and refreshes on OnSaveSlotListChanged.
What's next
The docs go deeper: custom fragments with versioned upgrades, custom slot headers, per-fragment error handling, and pluggable storage providers (custom directories, cloud backends).