-
Notifications
You must be signed in to change notification settings - Fork 0
Step 04: Functions
BavGames edited this page Jul 11, 2026
·
4 revisions
Every Blueprint node. All of them live in the "Ultimate Save System" category and work from any Blueprint - no casting, no subsystem boilerplate.
| Node | What it does |
|---|---|
| Save Game (SlotName) | Save the world into a slot, synchronously. Returns a result struct. |
| Load Game (SlotName) | Load a slot into the world, synchronously. Returns a result struct. |
| Save Game (Async) | Latent node with Completed / Failed exec pins - captures on the game thread, writes on a background thread. |
| Load Game (Async) | Latent node with Completed / Failed exec pins - reads on a background thread, restores on the game thread. |
| Save To Slot Streaming / Load From Slot Streaming | On the Save Subsystem (Get Save Subsystem first). Time-sliced for very large worlds. See Step 7. |
| Mount Slot For Level Streaming / Unmount Level Streaming | On the Save Subsystem. Newly shown sub-levels lazily restore from the mounted slot. |
The result struct contains Success, Error text and Recovered From Backup.
| Node | What it does |
|---|---|
| Does Save Exist | True if the slot file exists. |
| Delete Save | Delete a slot (and its sidecar files). |
| Get All Save Slots | List every slot name - build your save/load menu from this. |
| Get Save Slot Meta | Timestamp, level name, playtime and custom key/value metadata for one slot. |
| Duplicate Save | Copy a slot to a new name. |
| Rename Save | Rename a slot. |
| Node | What it does |
|---|---|
| Is Save Or Load Busy | True while a save/load is in flight - disable your UI buttons with this. |
| Push Save Blocker (Reason) | Refuse all saves until popped (cutscene, boss fight). |
| Pop Save Blocker (Reason) | Remove a blocker. Reasons stack - push/pop must match. |
| Is Save Blocked | True while any blocker is active. |
| Node | What it does |
|---|---|
| Autosave Now (bSynchronous) | Trigger an autosave immediately. Set Synchronous = true when calling from End Play / quit. |
| Restore Last Autosave | Load the newest autosave. False if none exists. |
| Get Latest Autosave Slot | Name of the newest autosave slot. |
| Start Autosave / Stop Autosave | Override the project setting at runtime. |
| Checkpoint | Save into the next checkpoint ring slot; returns the slot name. |
| Restore Last Checkpoint | Load the newest checkpoint. |
| Node | What it does |
|---|---|
| Register Persistent Object (Key, Object) | Save this object's SaveGame vars in EVERY slot (profile, settings). |
| Register Custom Object (Key, Object) | Save this object's SaveGame vars inside the CURRENT slot (quest log, world flags). |
| Unregister Persistent/Custom Object | Stop saving it. |
| Node | What it does |
|---|---|
| Has Save Authority | True on the server (or standalone). Gate your save UI with this. |
| Find Player Pawn | Find the world body that belongs to a player (Persistent World Pawn policy). |
| Possess Saved Player Pawn | Find the body and possess it, removing the fresh GameMode pawn. |
Bind these on the Save Subsystem (get it with Get Save Subsystem):
- On Save Started / On Save Completed / On Save Failed
- On Load Started / On Load Completed / On Load Failed
Use On Load Failed to show an error popup - errors never disappear silently, but an unconnected Failed pin cannot warn your player.
Next: Step 5: Project Settings