CrimsonSaveSystem · Lesson 7 of 8
Build a Save/Load Menu
Before you start
- Completed: Save & Load
Chapters
1. List the slots
GetAllSaveSlotHeaders() returns a UCrimsonSaveGameHeader per manual slot — Display Name, Save Date Time, Play Time, and Thumbnail Data — everything a slot row needs without loading the slot.
2. Wire the actions
Each row drives the requests you already know — RequestNewGameSave for an empty slot, RequestLoadFromSlot for a filled one, and RequestDeleteSlot behind a confirmation.
Delete is forever
RequestDeleteSlot is irreversible — put a confirmation dialog in front of it (CrimsonUI's ShowConfirmationYesNo is made for this).Rebuild the list whenever `OnSaveSlotListChanged` fires so the menu tracks saves made elsewhere (autosaves, save-on-exit).
The facade shortcut
Running CrimsonCore? UCrimsonSaveFacade wraps this whole lesson — StartNewGame, SaveGame, LoadGame, GetSaveSlots, DeleteSlot — one call per menu button.