Skip to content
Tuxedo CatSTUDIO
Menu

RuntimeSnapshotPersistence

Review draft. This source page has not completed website editorial and release-specific verification.

# Runtime Snapshot Persistence (Dialogue 2.1.0)

Dialogue owns FDialogueRuntimeSnapshot semantics, encoding, decoding, validation, and restore behavior. The codec uses deterministic UTF-8 JSON with envelope fields format, version, and snapshot.

The format identifier is DialogueRuntimeSnapshot. DialoguePersistenceFormatVersion is 3. Version 3 is the supported payload format; other versions return UnsupportedVersion. This owner format version is separate from SaveGame ContributorSchema, which remains 1.

The payload contains Dialogue-owned definitions, per-context history, generic Check retry states, active frame stack, stable frame activation scopes, activation ordinals, NextActivationOrdinal, and required root participant role identities. It contains no Probability mechanics, provider state, Skill values, or UObject participant references.

DialogueId and ContextKey scope history and retry state. Each activated root or SubDialogue frame preserves its deterministic ActivationScope and ActivationOrdinal. NextActivationOrdinal is captured even without an active conversation. A retry preserves its frame scope and restores its attempt identity from Dialogue-owned retry state.

Decode validates the envelope, version, field types, identities, ordering bounds, and duplicate semantic keys. UDialogueDirectorSubsystem validates references and runtime graph state before committing restore. Active snapshots may return RestoredNeedsParticipantRebind; gameplay must restore required root role objects before traversal resumes.

Capture fails explicitly while an asynchronous Action is pending. Pending actions, UI selection, playback position, provider registrations, external integration state, and owner state from Skill, Quest, World State, or other plugins are not encoded.

The optional canonical DirectorBridge Dialogue.SaveGame adapter passes the Dialogue payload through the SaveGame contributor contract. This owner payload change does not change SaveGame ContributorSchema, which remains 1. Dialogue Runtime has no SaveGame Director or DirectorBridge dependency.