Skip to content

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

  1. Assign a Save Mode to each variable you want to save.
  2. Variables marked Auto automatically save/load across play sessions.
  3. 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.