Save System
PlayMaker 2 includes a built-in system to save and load FSM Variables and Global Variables.
It is lightweight, profile-based, and works without any external JSON packages.
See also: Save System actions reference for action-by-action details.
If your saved variables need to restore project assets such as sprites, materials, or audio clips, see Saving Asset References.
Quick Start
- Select a global variable like High Score and set its Save Mode to Auto
- That's it. The value will now save when the app quits and load when the app starts.
Save Profiles
Save data is stored under the application’s Persistent Data Path.
Example (Windows):
%userprofile%\AppData\LocalLow\<companyname>\<productname>\PlayMaker\Saves
Each Save Profile corresponds to one JSON file in this folder.
Profiles let you support multiple save slots (e.g., Slot1, MyCampaign, Debug), or you can simply use the default profile.
Save Settings (Optional)
Create a PlayMakerSaveSettings asset to set the default profile for the project:
Assets → Create → PlayMaker → Save System Settings
Place this asset in a Resources folder so PlayMaker loads it automatically.
If no settings asset exists, PlayMaker uses "Default".
To save references to project assets like sprites, materials, and audio clips, see Saving Asset References.
Using the Save System
- Assign a Save Mode to each variable you want to save.
- Variables marked Auto automatically save/load across play sessions.
- Use Save/Load actions to manually control when data is saved or loaded.
Save Modes
| Mode | Description |
|---|---|
| Never | Never saved. The value resets each session. |
| Auto | FSM variables load on enable / save on disable. Global variables load on start / save on quit. (Recommended default.) |
| Load Only | Loads automatically but does not save automatically. |
| Save Only | Saves automatically but does not load. Useful for analytics, stats, or meta-progression. |
| Manual | Only saved/loaded when Save/Load actions are used. Ideal for multi-slot systems or checkpoints. |
Auto Save Behavior
Auto save is the quickest way to save variables.
For example:
- Select a High Score global variable and set Save Mode to Auto.
- The High Score will now be saved when the app quits and loaded when the app starts.
FSM Variables
| Event | Auto Load | Auto Save |
|---|---|---|
| FSM Enabled | ✔ Yes | — |
| FSM Disabled | — | ✔ Yes |
Global Variables
| Event | Auto Load | Auto Save |
|---|---|---|
| App Start | ✔ Yes | — |
| App Quit | — | ✔ Yes |
All auto-saved values are written to the current profile.
Manual Save
Use these actions when you want full control over when and where data is saved:
Load Game
Loads all saved information from a profile.
If no profile is specified, the current profile is used.
Save Game
Saves all saveable FSM and Global Variables into a profile.
If no profile is specified, the current profile is used.
Set Save Profile
Changes the current active profile at runtime.
Auto-saves and manual saves will write to this profile.
Save File Viewer
Use the integrated Save File Viewer to inspect save files generated on your machine:
→ See Save File Viewer
It displays:
- All detected profiles
- All saved FSMs and their variables
- All saved Global Variables
- Human-readable variable names and types (Editor only)
Summary
- Use Save Mode to control when each variable saves/loads.
- Auto mode is ideal for most gameplay variables.
- Use Save Game / Load Game for manual save workflows.
- Use Profiles to support multiple save files.
- Use Save System Settings to set the default profile.
- Use Saving Asset References when your saved variables point to project assets.
- Use the Save File Viewer to inspect saved data.