Documentation / Tile Tick Core RPG

Saving and Loading

The save system is modular on purpose. Each gameplay system owns its own data, while one coordinator handles save slots, loading, validation, and file storage.

You should not need one giant save script that knows every detail about your game. Core RPG uses save modules instead. Each module captures and restores one part of the character or world.

Main pieces

SaveCoordinatorRuns save and load operations, tracks the current operation state, and sends success or failure events.
SaveSystemSettingsControls storage, file names, format choices, slot limits, and other project level settings.
SaveDefinitionRegistryMaps saved definition IDs back to items, quests, and other ScriptableObject content when a file is loaded.
SaveIdentityGives persistent scene objects a stable identity so the correct object can be restored later.
Save modulesCapture and restore inventory, equipment, skills, combat state, position, banking, quests, and other supported systems.

Basic setup

  1. Create or locate the Save System Settings asset.
  2. Add the save bootstrap and required scene services to your starting scene.
  3. Open the Save System window and sync the definition registry.
  4. Make sure persistent world objects have a SaveIdentity.
  5. Test a new save slot before adding your own custom modules.
Do not save direct asset references: Store stable IDs and resolve them through the definition registry. This keeps files safer when content moves and makes the system much easier to adapt for networking later.

Included save coverage

  • Player location and scene information
  • Inventory and equipment
  • Skills and progression
  • Combat related player state
  • Bank storage
  • Quest progress and world state
  • Persistent participants that register their own save module

Adding your own saved system

Create a small data model, implement the matching save module pattern, register it with the save participant setup, and only capture the data your system truly owns. Keep scene presentation out of the file whenever it can be rebuilt from saved state.