Features

Every capability below carries a status, and the status means exactly one thing:

Available built in and enforced by construction · Verified exercised and passing in a named environment · Adapter required the package ships the contract, you supply the implementation · Roadmap planned, not shipped · Not verified reasoned about, never run · Not supported deliberately out of scope

Storage and files#

CapabilityStatusNotes
Atomic local storageAvailableStage → flush → verify → promote → rotate. An interruption cannot leave a half-written save.
Retained backup per slotAvailableRetention is a count (default 1), not a history.
Recovery and quarantineAvailableA damaged primary is moved aside with a reason and the newest valid backup is restored.
Slot modelAvailableAny number of named slots, each a directory, each with its own backups and revision sequence.
Metadata readable without a keyAvailableWhat makes a "Continue" menu cost kilobytes instead of megabytes.
Custom storage backendAdapter requiredImplement ISaveStorage for a platform whose storage is not a filesystem with atomic renames.

Versioning and containers#

CapabilityStatusNotes
Versioned containerAvailableEvery format version it has ever written remains readable.
Schema migrationAvailableOrdered, journalled, bounded chain, registered as code.
Unknown-member preservationAvailablePreserveAndReport by default, so a downgrade does not wipe data.
Forward-compatible readAvailableOff by default; opt in per call or in configuration.

Security#

CapabilityStatusNotes
Integrity (CRC32 / SHA-256)AvailableVerified before anything is parsed.
Authentication (keyed HMAC-SHA256)AvailableSeparate key from encryption, on purpose.
Encryption (AES-256-CBC + HMAC)AvailableEncrypt-then-MAC; tag verified before decryption.
Bounded decompressionAvailableDeclared size, ceiling and expansion ratio, enforced before and during.
Key managementNot supportedThe framework never stores, generates, derives or rotates a key; ISaveKeyProvider is the only source.
Rollback (replay) protectionNot supportedDetecting a restored older save needs a server-side sequence.

Save behaviour#

CapabilityStatusNotes
AutosaveAvailableDebounce, ceiling, minimum gap, coalescing, one queued write, pause flush. 0.03 ms idle tick.
CheckpointsAvailableOrdinary saves in their own slots, so they inherit everything.
Manual save offloadAvailableStorage.OffloadWritesToThreadPool, off by default; the projection stays on the caller's thread.
Multi-process coordination on one rootNot supportedAtomic promotion keeps either version intact; the later writer still wins.

Unity objects#

CapabilityStatusNotes
GameObject and component captureAvailableIdentity, transform and each supported component.
ScriptableObject persistenceAvailableThrough PersistableScriptableObject, which gives an asset an identity.
Persistent object identityAvailablePersistentId; InstanceID is never used. Project-wide validation for missing, duplicate or unstable ids.
Restore under a policyAvailableSeven policy questions, three presets, every disagreement reported with what/why/fix.
ReferencesAvailableStored as identity; resolved through your resolver, an injected one, or the session index.
Prefab reconstructionAvailableOnly through your IPersistencePrefabFactory; the package never calls Instantiate.
Content types as valuesNot supportedTexture2D, Material, Mesh, AudioClip, Sprite, Shader are refused with a suggested key-based alternative.

Cloud#

CapabilityStatusNotes
Vendor-neutral transport seamAvailableICloudTransport: four methods over opaque bytes.
Sync, conflicts, offline queue, retryAvailableFramework code, verified against in-memory and HTTP-shaped doubles with failure injection.
A specific providerAdapter requiredImplement the transport. Nothing vendor-specific ships, by design.
Firebase / PlayFab / REST / Steam adaptersRoadmapPlanned, not shipped. See the adapter roadmap.
Real provider semanticsNot verifiedNo service was reachable in the verification environment.

Editor tooling#

CapabilityStatusNotes
Guided setup with presetsAvailableMinimal, Recommended, Hardened — each explains itself before it applies.
Validation with remediesAvailableTwo depths; every actionable finding carries what/why/fix.
Storage probeAvailableWrites, verifies and deletes inside its own _probe directory.
Save BrowserAvailableMetadata and file listing only — never payloads or keys.
Platform support matrixAvailableClaims as data, with evidence and how to reproduce each one.
Generated codeAvailableFrom your configuration, public APIs only, with Copy.

Verification#

CapabilityStatusNotes
Edit Mode suiteVerified582 tests, Unity 6000.6.0f1, Windows x64.
Fuzz, corruption and culture testsVerifiedIncluding the culture defect the IL2CPP run found.
IL2CPP player probeVerified12/12 checks in a release player, exit code 0.
Measured performanceVerifiedShape, not promises: Performance.
Consoles, mobile, WebGL, macOS, LinuxNot verifiedPlatform-neutral code, no run. See Platform support.

Where the detail lives#

Every row above links to a page that explains it: documentation, the platform support matrix, the limitations and the roadmap.