Semantic Persistence
Review draft. This source page has not completed website editorial and release-specific verification.
Inventory core owns semantic persistence, not files or save slots. The public APIs are CapturePersistenceSnapshot, ValidatePersistenceSnapshot, and RestorePersistenceSnapshot. The semantic schema version is 1.
Snapshots include registered live persistent inventories and subsystem-owned dormant persistent inventories. Temporary inventories are excluded and remain untouched by restore. Capture emits no events and returns no partial snapshot on failure.
Occupied slots carry both the persisted ItemId and the typed soft UInventoryItemDefinition identity. Validation resolves the asset when needed and requires the loaded definition’s ItemId to match. Ordering is deterministic by persistent InventoryId and slot index.
Restore builds and validates one complete plan before changing any authority. Saved state replaces a matching live or dormant authority. A valid unknown persistent InventoryId becomes dormant authority. A live persistent inventory omitted from the snapshot resets to its authored Starting Items. Dormant persistent authority omitted from the snapshot is removed. The precedence is Saved > Dormant > Starting Items. Restore is silent and emits no InventoryChanged events.
Optional SaveGame integration
Section titled “Optional SaveGame integration”Inventory owns its persistence snapshots, restore planning, validation, and
persistent container behavior. Inventory remains independently usable without
a save system. The optional Inventory/SaveGame integration is provided by the
DirectorBridgeInventorySaveGame Runtime module in DirectorBridge 1.13.0. Its
public IntegrationId is Inventory.SaveGame, ContractVersion 1. Enable the
DirectorBridge plugin with Inventory Director Version 4 or later and Save Game
Director Version 1 or later; the module registers the integration when both
owner plugins are enabled and eligible. Integrations are enabled by default
and can be disabled through DirectorBridge’s IntegrationOverrides setting.
The adapter maps Inventory’s public snapshot capture, validation, and restore
APIs to Save Game Director’s contributor API. Its contributor ID is
DirectorBridge.Inventory.SaveGame, its factory ID is
DirectorBridge.Inventory.SaveGame.Factory, and it uses schema 1 with the
required-record policy and FinalPostRestore phase. Save Game Director owns
save/load orchestration; Inventory retains all snapshot and gameplay semantics.
Inventory core has no direct dependency on DirectorBridge or Save Game Director.
For the canonical integration family and owner-version registry, see the
DirectorBridge project documents Docs/Integrations/SaveGameFamily.md and
Docs/ExistingBridgeInventory.md.
Migration: the former InventoryDirectorSaveGameDirectorBridge integration
was superseded by DirectorBridge’s DirectorBridgeInventorySaveGame module.