GettingStarted
Review draft. This source page has not completed website editorial and release-specific verification.
# Dialogue Director 2.1.0 — Getting Started
Requirements and installation
Section titled “Requirements and installation”Dialogue Director targets Unreal Engine 5.7 and loads without Probability Director or DirectorBridge. Enable DialogueDirector, restart the Editor, and use its Definition Editor to author dialogue. Enable optional owner bridges only for integrations your project uses.
Dialogue owns semantic resolution intent. An authored Check provides a stable ResolutionProfileId and semantic comparison/target data; an external provider profile chooses mechanics. Optional DirectorBridge Dialogue.Probability ContractVersion 3 integrates Probability Director. Without a provider, checks, random branches, and weighted Dialogue Sets return ProviderUnavailable while ordinary Dialogue remains functional.
Create a Dialogue
Section titled “Create a Dialogue”- Create a Dialogue Definition asset and open it in the Dialogue Definition Editor.
- Add participant roles with stable identities.
- Add a Line and connect it from Start. Enter player-facing text as localized FText.
- Add Choices, Conditions, Actions, branches, or a generic Check as needed.
- For a Check, author a structurally valid ResolutionProfileId, comparison and target, optional Skill source, and ordered scalar inputs. Without an optional Editor provider, the stable profile ID remains free text and Dialogue checks only its structure. When installed, an Editor provider can offer profile display data and a picker without changing the stored ID.
- Run owner validation and use Preview to inspect structure, profile identifiers, value acquisition, and routing. Base Dialogue Preview does not calculate chance or simulate resolution mechanics.
See V1WorkflowExamples.md for authoring patterns. The mechanics-neutral Check contract is described in DialogueCheckAuthoring.md.
Start at runtime
Section titled “Start at runtime”The runtime authority is UDialogueDirectorSubsystem, a GameInstance subsystem. In C++, fill FDialogueConversationStartRequest with the Definition and a project-stable context key, add participant bindings, and call BeginConversationSession. In Blueprint, use Get Game Instance Subsystem and Begin Conversation Session. Check the structured result before presenting UI.
Use the focused Line and Choice presentation APIs. Conversation state mutation and traversal occur on the game thread.
Bind participant roles
Section titled “Bind participant roles”Bind each authored role to the gameplay Actor or UObject that plays it. A Skill-sourced Check requires an Actor on the exact authored role in the current frame. SubDialogue maps a callee role explicitly to an immediate caller role. Dialogue does not infer roles or search the world.
Save and restore
Section titled “Save and restore”Capture and restore FDialogueRuntimeSnapshot through the owner APIs. DialoguePersistenceFormatVersion is 3. Snapshots preserve Dialogue-owned history, retry state, active frames, activation scopes, and NextActivationOrdinal. They do not store runtime object references or provider state. SaveGame ContributorSchema remains 1; the optional canonical adapter is DirectorBridge Dialogue.SaveGame.
Optional integrations
Section titled “Optional integrations”- Skill Director can provide Skill value queries and mutations through its optional Dialogue bridge.
- Quest, World State, Character State, Inventory, Knowledge, Relationship, and SignalBus integrations are optional owner bridges.
- SaveGame Director integration uses optional DirectorBridge Dialogue.SaveGame.
- Probability mechanics use optional DirectorBridge Dialogue.Probability. The Dialogue owner has no direct Probability module or descriptor dependency.
Preview, localization, and interchange
Section titled “Preview, localization, and interchange”Base Check Preview displays authored semantic fields and stops with an explicit provider-unavailable status at resolution. It does not simulate dice, probability, or rules. Canonical DialogueDefinition typed JSON uses schemaVersion 3; old schemas are rejected. CSV remains a constrained projection over the canonical JSON document. Localization identities and Unreal Localization Dashboard workflows remain part of the Dialogue authoring process.