API overview
The public surface, grouped by what you are trying to do: starting up, saving, loading, slots, recovery, security, cloud and the seams.
Assemblies#
| Assembly | Contains |
|---|---|
NexusForge.Persistence.Core | The engine-free framework: options, diagnostics, results, document model, storage, envelope, versioning, concurrency, identity, autosave, security, cloud contracts |
NexusForge.Persistence.Unity | Unity adapters and the NexusForgePersistence facade: paths, product context, logger, main-thread dispatcher, projection, restore, the save component |
NexusForge.Persistence.Serializers.Newtonsoft | The JSON serializer |
All three set autoReferenced: false; a project references them explicitly.
Starting up#
| Type | Purpose |
|---|---|
NexusForgePersistence | The facade: Initialize, IsInitialized, Host, Options, Slots, SaveStorage, DrainAsync, Shutdown, ResetForNewSession |
PersistenceOptions | All configuration, validated up front by Validate() / ThrowIfInvalid() |
PersistenceHost | The composed object graph: Options, Context, Diagnostics |
PersistenceContext | The seams: paths, product identity, clock, logger, main-thread dispatcher, sequences |
SaveMigrationRegistry | Where migration steps are registered at initialisation |
NexusForgePersistence.Initialize(options, logger, migrations, keyProvider);Saving, loading and slots#
SaveSlotService (NexusForgePersistence.Slots) with SaveAsync, LoadAsync<T>, ListAsync, InfoAsync, DeleteAsync, RecoverAsync, ExportAsync, AdoptAsync. Supporting types: SaveSlotId, SaveRequestOptions, LoadRequestOptions, SaveCommit, SaveLoadResult<T>, SaveMetadata, SaveSlotDescriptor, SchemaVersion, SlotLayout, StorageFileNames.
Autosave, checkpoints and recovery#
AutosaveCoordinator, AutosaveOptions, AutosaveState, AutosaveReason, ISaveStateSource, DelegateSaveStateSource, CheckpointService, CheckpointOptions, CheckpointDescriptor, StorageRecoveryReport, StorageRecoveryOutcome, SlotRecoveryOptions.
Security and the seams you implement#
ISaveKeyProvider, SaveKeyPurpose, ISaveEncryptionProvider, ISaveIntegrityProvider, ISaveCompressionProvider, SaveFileFormat, SecurityCapabilityProbe, ISaveStorage, LocalFileStorage, MemoryStorage, IPathProvider, ISaveSerializer, ISaveMigration, IClock, IMainThreadDispatcher, IMonotonicSequenceProvider, IPersistenceLogger.
Cloud#
ICloudTransport, ICloudSaveProvider, TransportCloudSaveProvider, CloudSaveSyncService, CloudSyncOptions, CloudConflictPolicy, ICloudConflictResolver, BuiltInCloudConflictResolvers, ICloudAuthenticationProvider, CloudRetryPolicy, CloudSyncJournal, CloudProviderCapabilities, CloudWriteCondition, FakeCloudTransport.
Unity objects and restore#
UnityObjectProjector, UnityObjectApplier, UnityProjectionReport, UnityRestoreReport, PersistenceRestorePolicy, PersistenceRestorePreset, IPersistenceIdentifierResolver, IPersistencePrefabFactory, IPersistencePrefabSource, PersistentId, PersistentIdentityBehaviour, PersistentObjectStore, PersistFieldAttribute, PersistIgnoreAttribute, PersistableScriptableObject.
Editor-only#
PersistenceSettingsAsset, PersistenceSetupPlan, PersistenceSetupPresets, PersistenceValidationCatalog, PlatformSupportMatrix, PersistenceStorageProbe, PersistentIdentityScanner, PersistenceConfigurationReport, PersistenceFinding, PersistenceFindingText.
Intentionally absent#
Accounts, sign-in, entitlements, leaderboards, telemetry, a specific cloud service, key management, save editors, and anything that knows what a "player" or an "item" is. Those belong to a game or a server; putting them here would make the framework unusable by the next game.
Next#
- Extending NexusForge — the seams, in the order you are likely to need them.
- Result types — how every call reports success and failure.
- Threading — which of these may be called off the main thread.
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