GS_Cinematics
Categories:
GS_Cinematics is the complete dialogue and cinematic control system for GS_Play. It provides a node-graph authoring tool for branching dialogue sequences, a runtime sequencer with conditions and side effects, a UI layer for text display and player choice, and a Cinematics Manager for scene staging. Custom conditions, effects, and performance types are discovered automatically through O3DE serialization, so project-specific dialogue behaviors can be added without modifying the gem.
For architecture details, component properties, and extending the system in C++, see the GS_Cinematics API.
Quick Navigation
| I want to… | Feature | API |
|---|---|---|
| Coordinate cinematic sequences and manage stage markers for actor positioning | Cinematics Manager | API |
| Author branching dialogue with conditions, effects, and performances in a node graph | Dialogue System | API |
| Display dialogue text, player choices, and speech babble on screen or in world space | Dialogue UI | API |
| Move actors to stage markers during dialogue with navigation or teleport | Performances | API |
Installation
GS_Cinematics requires GS_Core, LyShine, and RecastNavigation. The node editor tools additionally require GraphCanvas and GraphModel as editor-only dependencies.
For a full guided walkthrough, follow the Simple Project Setup guide.
Quick Installation Summary
- Enable the GS_Cinematics gem in your project configuration.
- Create Cinematics Manager and Dialogue Manager prefabs, add to the Game Manager’s Managers list.
- Create
.dialoguedbassets with the Dialogue Editor. - Place DialogueSequencer and DialogueUI components in your level.
- Bake NavMesh in levels where PathTo performances will be used.
Cinematics Manager
The Cinematics Manager coordinates the begin and end of cinematic sequences, broadcasting enter/exit events so other systems know when to yield control. It maintains a registry of stage marker entities placed in each level — named anchor points that performers and cameras look up at runtime to determine positioning during a sequence.
Dialogue System
The Dialogue System is the authoring and runtime core. Dialogue content is stored in .dialoguedb assets containing actors, portraits, and sequences. Each sequence is a graph of polymorphic nodes — text, selection, random branch, effects, and performances. A visual node editor lets writers author graphs directly in the O3DE Editor. At runtime, the sequencer walks the graph, evaluates conditions, executes effects, and emits events for the UI layer.
Dialogue UI
The Dialogue UI feature set puts dialogue text and player choices on screen. DialogueUI handles screen-space text display with a Typewriter for character-by-character reveal. DialogueUISelection renders player choices as selectable buttons. World-space variants place speech bubbles above actors. Babble plays audio tied to the active speaker. The DialogueUIBridge routes sequencer events to the correct UI implementation and routes player selection back.
Performances
Performances are polymorphic actions that move or reposition actors during dialogue. MoveTo translates actors to named stage markers, PathTo navigates via NavMesh, and Reposition teleports instantly. All run asynchronously — the sequencer waits for completion before advancing. Custom performance types can be created through extending the class.
See Also
For the full API, component properties, and C++ extension guide:
For step-by-step project setup:
Get GS_Cinematics
GS_Cinematics — Explore this gem on the product page and add it to your project.