API overview

The public surface, grouped by what you are trying to do: starting up, saving, loading, slots, recovery, security, cloud and the seams.

Advanced NexusForge Persistence 0.2.0 Updated

Assemblies#

AssemblyContains
NexusForge.Persistence.CoreThe engine-free framework: options, diagnostics, results, document model, storage, envelope, versioning, concurrency, identity, autosave, security, cloud contracts
NexusForge.Persistence.UnityUnity adapters and the NexusForgePersistence facade: paths, product context, logger, main-thread dispatcher, projection, restore, the save component
NexusForge.Persistence.Serializers.NewtonsoftThe JSON serializer

All three set autoReferenced: false; a project references them explicitly.

Starting up#

TypePurpose
NexusForgePersistenceThe facade: Initialize, IsInitialized, Host, Options, Slots, SaveStorage, DrainAsync, Shutdown, ResetForNewSession
PersistenceOptionsAll configuration, validated up front by Validate() / ThrowIfInvalid()
PersistenceHostThe composed object graph: Options, Context, Diagnostics
PersistenceContextThe seams: paths, product identity, clock, logger, main-thread dispatcher, sequences
SaveMigrationRegistryWhere migration steps are registered at initialisation
csharp
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#

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