No-code save component

The Persistence Save component, every Inspector section, the Beginner and Advanced views, and the triggers that decide when a save happens.

Get started NexusForge Persistence 0.2.0 Updated

What the component is#

NexusForge/Persistence Save captures the GameObjects, components and PersistableScriptableObject assets you assign, and saves them through the same pipeline the code API uses. It is a client of SaveSlotService, not a second engine: a save written by the component is a save the explicit API can load, and the other way round.

The Inspector, section by section#

SectionWhat it decidesDefault
GeneralPersistence enabled, target slot, save label, schema version, identityon, default, object name, 1
DataWhich objects are captured, and the capture depth limitempty until you assign sources
TriggersDisable/destroy, pause and background, scene change, autosavedisable and pause on
AutosaveDebounce, longest unsaved, minimum gap2 s, 60 s, 10 s
SecurityIntegrity, encryption, compression, backupsread from the settings asset
ValidationEvery check, with what/why/fixalways visible, in both modes
CodeGenerated code for this configuration, with Copypublic APIs only

Beginner and Advanced are one toggle#

Beginner shows the decisions a first-time user must make. Advanced adds the numbers, the migration interaction and a capture preview. Validation is shown in both, because hiding an error behind a "simple" view is how a package loses trust.

Triggers: when a save happens#

TriggerFires onNotes
Disable / destroyOnDisable, OnDestroyOn by default; covers scene unload and object destruction.
Pause / backgroundOnApplicationPause, focus lossOn by default; the one mobile players depend on.
Scene changeA new scene loadingCapture and save are separate steps, so nothing is lost to a load.
AutosaveMarkDirty plus the debounceOff until you enable it; see Autosave.
ManualYour code calling SaveNow()One line, same pipeline.

Unity callbacks cannot await and the object may not exist a frame later, so those triggers capture synchronously and save asynchronously: the snapshot is taken while the object is alive, and the write happens on the pipeline's own terms.

What the component will not do#

  • It will not scan your scene for objects to save. It only ever looks at the objects you assigned — a project-wide identity scan is an Editor operation, not a runtime one.
  • It will not bypass a validator, a migration or an integrity check to make configuration easier.
  • It will not guess at your schema. The version you set is the version written, and a missing migration step is reported by the existing migration checks.

Next#

Something wrong on this page? Every page here describes behaviour that is checked in the repository. If a page and the package disagree, the package wins.

Report a documentation problem · Frequently asked questions · Troubleshooting