Skip to content

Core concepts

A quick mental model of Libretto before you dive into the reference pages.

The data model

Concept What it is
Dialogue The asset (prefixed D_). A tree of text plus the characters, conditions and metadata around it. It is a data container first — playable cutscenes are one use of it, 2D interfaces another. See Dialogue Editor.
Subdialogue A logical section of a Dialogue. A Dialogue has at least one; each can carry its own condition, stage and priority. Playback of a subdialogue ends the Dialogue unless a GoTo jumps elsewhere. See Subdialogues.
Line The unit of content, with a unique ID. Types: Text, Choice, Reply, GoTo, If/ElseIf/Else, Silence, Cinematic, Comment. Only Text and Reply text is shown in-game. See Line types.
Speaker / Listener The character who speaks / is spoken to on a line. Characters implement the LBRDialogueCharacter interface. See Characters.
Sequence An automatic grouping of lines used at generation and playback. Each maps to one generated Sequencer asset. See Sequences.

From data to a playable scene

 Dialogue (data)  ──►  Generation  ──►  Sequencer assets (+ audio)  ──►  Runtime playback
   author it          build cutscenes      one per sequence               play in the level
Concept What it is
Generation The editor-time step that turns a Dialogue into Sequencer assets — cameras, animation, audio, subtitles, events. See Generation.
Dialogue Instance The actor that plays a Dialogue in a level. Carries the placement/entry settings for a specific occurrence. See Runtime.
Stage The staging setup (character placement, cameras) a subdialogue uses at generation. Chosen per subdialogue via its Stage Actor Class.
Runtime Playing a generated Dialogue in-game — staged, over-the-shoulder 3C, or cinematic — via the StartDialogue* entry points. See Runtime and the Blueprint API.

The logic layer

Concept What it is
GPVars Gameplay variables (flags and counters) stored on the game instance — the runtime state your dialogues read and write. See GPVars.
Conditions Blueprint objects evaluated to allow/deny a Reply, a branch (If), or a subdialogue. See Conditions.
Flags Line/subdialogue metadata (gameplay tag flags) interpreted at generation or play time — e.g. subtitle styling, NoSubtitle, Subtitle3D. See Gameplay tag flags.
Dynamic tags Gameplay tags generated automatically to identify each Dialogue, Subdialogue, Choice and Reply (root Libretto.Dialogues). See Dynamic tags.
Priorities Rules that decide what happens when two dialogues compete at runtime. See Priorities.