Skip to content
Tuxedo CatSTUDIO
Menu

DialogueSetInterchange

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

# DialogueSet V1 interchange

DialogueSet interchange uses the shared strict JSON envelope with schema DialogueDirector.DialogueSet and schemaVersion: 1. The detached document owns setId, selectionPolicy, and ordered entries. Each entry has entryId, target, priority, weight, hasCondition, and nullable condition.

target is a tagged union. A Dialogue Definition target is { "type": "DialogueDefinition", "asset": { "assetPath": "/Game/..." } }; a child Set target uses "type": "DialogueSet". The JSON never exposes the native pair of nullable soft references. Decode checks shape and tokens without loading assets. Application preflight resolves the selected reference to the required asset type.

Selection policy tokens are HighestPriorityExclusive, FirstValidFallback, AllValidMultiSelect, and WeightedRandom. Entry order is authored data and is preserved. Weighted Random requires positive weights; native Set validation also requires at least one entry, valid unique Entry IDs, valid target references, valid pre-session Conditions, and an acyclic child Set graph within the runtime depth limit.

The importer supports UpdateExisting, CreateNewPreservingIdentity, and CreateNewIndependentClone. Update requires exact SetId StableId and GUID equality. Preserving creation retains SetId, Entry IDs, and embedded Condition/Clause IDs and rejects a root identity collision. Independent clone requires a caller-supplied unused Set StableId, creates a fresh Set GUID, regenerates Entry/Condition/Clause identities, and remaps the embedded Condition references. External Dialogue Definition and child Set asset references and all authored ordering/policy/priority/weight/condition values are preserved. Set pre-session Conditions exclude Dialogue History; provider values follow their registered adapter contract and contain no Set-local identity to rewrite.

Set native export reads the source and does not repair or save it. The interchange importer resolves references and validates a staged native Set before update/create. Set developers can open Dialogue Director → Data & Interchange… from the Content Browser for one selected DialogueSet. The focused surface provides validation, canonical JSON import/export and create modes, plus update-only CSV bundle import/export. See DataInterchangeTooling.md. It does not rewrite external references, batch assets, or provide PO tooling.