Dialogue System
Gameplay SystemsDialogue systems: linear NPC speech to complex branching conversations with player choices, conditions, and consequences.
/skill dialogue-system What This Skill Does
Dialogue System helps you build conversation systems in Unreal Engine: from simple NPC barks and linear speech to complex branching dialogues with player choices, conditions based on quest state or player stats, and consequences that change the game world. Since UE5 does not include a built-in dialogue editor, this skill covers the standard architectural patterns used by most projects: a Data Table-driven data model, a controller Blueprint that manages conversation flow, a dialogue UI widget with typewriter text and choice buttons, and integration points for camera cuts, facial animation, and localization.
Covers
- Dialogue system architecture: data model, flow controller, and UI components
- Data Table-driven dialogue with a flexible row schema
- Branching dialogue with player choices and condition-based availability
- Dialogue UI widget: speaker name, typewriter text display, choice buttons, and portraits
- Text display features: typewriter effect, auto-advance, and skip functionality
- Dialogue camera cuts for cinematic conversations
- Integration with lip sync and facial animation
- Localization-ready text using FText and string tables
Does Not Cover
- Lip sync audio and facial capture → Animation Playback and Face Capture
- Sequencer-driven cinematic dialogue → Sequencer Basics and Audio Sequencer
- Voice synthesis and text-to-speech → external tools
- AI-generated dynamic dialogue → external AI system
How to Use
Invoke this skill in Claude Code:
/skill dialogue-system This skill is also auto-detected when your prompt mentions dialogue, conversation, NPC talk, branching dialogue, player choices, or speech systems. AgentUX will automatically activate Dialogue System when it recognizes relevant context in your request.
Key Unreal Engine Concepts
| Concept | Description |
|---|---|
UDataTable | The primary storage mechanism for dialogue data: each row represents a dialogue line with speaker, text, choices, conditions, and navigation fields. |
UDialogueWave | UE5's built-in localized audio line asset, useful for barks and one-liners with per-culture audio variants. |
UDialogueVoice | Identifies speakers in the built-in dialogue system, allowing the engine to select the correct audio context for each conversation participant. |
FText | The localization-ready text type that must be used for all player-visible dialogue: supports translation keys, string tables, and culture switching. |
FDialogueLineRow | A custom struct defining the dialogue data schema: LineID, Speaker, LineText, Choices, Conditions, Consequences, and camera/animation references. |
BP_DialogueController | The controller Blueprint that manages conversation flow: starting dialogue, advancing lines, handling player choices, and ending conversations. |
Related Skills
data-tables
Data Table setup for dialogue storage and content management
blueprint-basics
Visual scripting for dialogue controller and NPC interaction logic
umg-widget-basics
Widget Blueprints for dialogue UI panels, text display, and choice buttons
audio-sequencer
Audio integration for voice-acted dialogue and sound design
What You'll Learn
- How to design a dialogue data model using Data Tables with a flexible row schema
- How to build a dialogue controller that manages conversation flow, branching, and conditions
- How to create a dialogue UI widget with typewriter text, speaker portraits, and choice buttons
- How to implement condition-based dialogue branching tied to quest state, inventory, and stats
- How to integrate camera cuts for cinematic conversation presentation
- How to prepare dialogue text for localization using FText and string tables