Skip to content

Generation

I've written my dialogue — how do I turn it into a playable scene?

Run generation on it: Generate Assets, then Generate Sequences. Writing a Dialogue only produces the script; generation turns that script into the assets and the Sequencer timelines that actually play — audio, animation, lip-sync, cameras and subtitles. You can launch it from three equivalent places:

  • the Dialogue Instance's Details panel (General category) — acts on that instance's Input Dialogue;
  • the toolbar Dialogue Generation section;
  • right-click a Dialogue asset ▸ Libretto — generates it as generic (no instance needed, see below).

The toolbar's Dialogue Generation section

Then, from whichever entry point you chose:

The Generate buttons on a Dialogue Instance's Details panel

  1. If your lines are spoken, press Generate Assets first — it produces the per-line audio (TTS) and anything baked from it (see Voices).
  2. Press Generate Sequences — it assembles the Level Sequences that drive the scene, consuming the assets from step 1.
  3. Test it with Preview (see test without gameplay), or trigger it in-game with StartDialogueInstance.

Gotcha

Order matters: Assets before Sequences — Sequences consumes what Assets produced, so spoken audio must exist first. And generation is not automatic: nothing you type is reflected in the played scene until you regenerate.

See also: Generation overview · Getting started · Voices

What's the difference between Generate Assets and Generate Sequences?

Assets are the raw, expensive material produced once; Sequences is the timeline that arranges them. Splitting the two lets you rebuild the cheap arrangement without re-paying for the costly audio every time.

  1. Generate Assets produces the per-line audio (TTS) and derived data such as lip-sync — the slow, source-of-truth material. You only need it when the spoken text changes.
  2. Generate Sequences builds the Level Sequences: it places the audio, animation, camera and subtitle tracks on the timeline. It is comparatively fast and consumes the existing assets.

Gotcha

Rule of thumb for what to re-run after a change:

  • changed spoken text → Generate Assets then Generate Sequences;
  • changed only staging, cameras or timing → Generate Sequences alone is enough.

Running Sequences without regenerating Assets keeps your existing audio — it does not re-voice anything.

See also: Generation overview · Voices · Custom track generators

I only want to (re)generate part of a big dialogue

Uncheck the subdialogues you don't want in the generation wizard. Every generation command opens a modal wizard listing the dialogue's subdialogues all checked by default; clearing a box excludes that part, so you can regenerate just the section you changed.

The Generate Sequences wizard, with the Clean All flag in Flags

  1. Launch Generate Assets or Generate Sequences. The wizard opens.
  2. In the subdialogues list, uncheck anything you don't want to touch (leave checked what you want (re)generated), then press Run.
  3. To wipe and rebuild from scratch instead of updating in place, tick Clean All in the Sequences ▸ Flags section (see the gotcha).

Gotcha

By default, regeneration is incremental and surgical: each track type clears only its own tracks, only for the subdialogues you kept checked, and existing character bindings and hand-placed stages are preserved. Clean All (Libretto.Generation.Flags.User.CleanAll) instead empties the whole sequence before rebuilding, and also destroys stages that generation spawned — but never a stage you placed or attributed yourself. Reach for Clean All when incremental regeneration leaves stale or orphaned tracks behind; leave it off for normal iteration.

See also: Generation overview · Gameplay tag flags

I hand-tweaked a generated sequence in Sequencer — how do I stop regeneration from wiping my edits?

Lock the sub-sequence in the master. A generated dialogue is an ordinary Level Sequence, so you can open it and fine-tune it by hand in Sequencer; to keep those edits, lock the section so the next generation leaves it alone.

  1. Open the generated sequence and make your changes in Sequencer as you would on any Level Sequence.
  2. In the master sequence, find the sub-section for that part and lock it (the padlock on the section — Sequencer's standard section lock).
  3. Regenerate as usual. Libretto detects the locked sub-sequences, skips them during clean/rebuild, and re-locks them afterwards — your hand edits survive untouched.

Gotcha

Locking is per sub-sequence (i.e. per generated section/subdialogue), not for the whole dialogue — lock exactly the parts you have hand-authored and leave the rest regenerating normally. Even Clean All respects locked sub-sequences. This lock is the Sequencer section lock and has nothing to do with the Staging player locks (bLockPlayerCamera / bLockPlayerMovement).

See also: Generation overview · Runtime

I want to generate without placing an instance in the level

Right-click the Dialogue asset ▸ Libretto and generate it as generic. When a dialogue has no placed Instance — a phone call, a narrator, an ad-hoc conversation — you generate straight from the asset and start it at runtime with the generic helpers, which spawn a transient instance for you.

Right-clicking a Dialogue asset ▸ Libretto submenu

  1. In the Content Browser, right-click the Dialogue asset ▸ Libretto ▸ Generate Assets… then Generate Sequences… (same wizard, same order).
  2. At runtime, start it with the static StartGenericDialogue* helpers instead of StartDialogueInstance.

Gotcha

Generic generation has no instance-level settings to draw on (no Stage Characters Override, no Entry/Exit transitions, no per-instance camera rules) — it uses the dialogue's own defaults. If you need those instance overrides, place an ALBRDialogueInstance and generate from it instead.

See also: Runtime · Getting started — make it play · Blueprint API

I want a video file of the scene, not just play it in-editor

Use Record. Alongside the generation buttons, Record renders the generated dialogue to a video file — useful for trailers, reviews or sharing a scene without opening the editor.

  1. Generate the dialogue first (Assets + Sequences).
  2. Press Record (Instance Details, toolbar, or right-click ▸ Libretto ▸ Record…) and Run the wizard. Libretto plays the dialogue with a forced recording game mode and captures it.

Gotcha

Recording is Windows-only and writes the mp4 with the Movie Render Pipeline's built-in H.264 output — nothing to install. The output folder and file name come from your Recording Config preset (its Output setting), not from Libretto.

See also: Recording · Settings