Complete Dialogue System
Node-based authoring with runtime execution and extensibility
Node-Based Dialogue Editor
Visual dialogue authoring using O3DE's GraphCanvas. Nodes for text, player choices, random branching, effects, and performances. Save as `.dialoguedb` assets for runtime loading.
- Text Nodes — NPC dialogue with speaker, text, and optional audio
- Selection Nodes — Player choices with conditional visibility
- Random Nodes — Weighted random branching for variety
- Effects Nodes — Execute gameplay effects mid-conversation
- Performance Nodes — Move performers, trigger animations
Conditions & Effects
Polymorphic systems for branching logic and gameplay consequences. Check game state via conditions. Modify game state via effects. Fully extensible through inheritance and O3DE serialization.
- Conditions — Evaluate game state (check records, inventory, etc.)
- Effects — Modify game state (set records, toggle entities, etc.)
- Reversible — Effects support ReverseEffect() for dialogue rollback
- Auto-Discovery — Custom types discovered automatically at startup
Dialogue Performances
Direct your characters. Polymorphic performance system moves performers to markers, navigates navmesh paths, or repositions instantly. Perfect for staging conversations and cutscenes.
- MoveTo — Direct movement to stage markers
- PathTo — Navmesh-based navigation
- Reposition — Instant teleport to marker
- Performer Markers — Named positions with optional target tracking
Dialogue UI
Screen-space and world-space dialogue display. Typewriter text with character-by-character reveal. Audio babble with phoneme mapping. Selection buttons for player choices.
- DialogueUI — Screen-space text display with typewriter effect
- WorldDialogueUI — World-space speech bubbles
- DialogueUISelection — Player choice buttons
- Babble Component — Audio synthesis for text reveal
Localization
Built-in localization support. LocalizedStringId references strings with keys and default text. LocalizedStringTable provides runtime lookup. Ship your game in multiple languages.
- LocalizedStringId — String key + default text fallback
- LocalizedStringTable — Runtime string lookup
- Dialogue Database Integration — All text supports localization
Technical Specifications
Components
Complete dialogue system
Management: DialogueManager, CinematicsManager, DialogueSequencer
Graph Nodes: Text, Selection, Random, Effects, Performance (5 types)
UI: DialogueUI, WorldDialogueUI, DialogueUISelection, Typewriter, Babble
Performance: Stage markers, performer direction
Dependencies
Required: GS_Core
UI: LyShine
Navigation: RecastNavigation (for PathTo performances)
Data Assets
Dialogue Database: .dialoguedb files (GraphCanvas-based)
Localization: LocalizedStringTable assets
Author dialogues visually, ship with localization support.
Extensibility
Polymorphic systems. Custom conditions, effects, and performances are discovered automatically through O3DE serialization — no modification to core required.
From Barks to Branching Narratives
Start Simple
Single text nodes for NPC barks. World-space bubbles for ambient dialogue. Typewriter effects for dramatic reveals. You can ship a simple dialogue system in minutes.
Scale to Complexity
Branching conversations with conditions. Player choices that affect game state. Performances that move characters mid-conversation. The system grows with your narrative ambition.
Extend It All
Custom conditions, effects, and performances. Extend the base classes and reflect them — the system discovers your types automatically. Your dialogue ties directly into your gameplay.
Tell the Stories Your Game Deserves
From simple conversations to complex branching narratives — GS_Cinematics gives you the tools to bring your characters to life.
Get GS_Play Read Documentation Explore Other Gems