Settings reference¶
Libretto exposes its configuration through several Project Settings pages (and a couple of Editor Preferences pages for machine-local behaviour). Each page is backed by a settings class in the plugin's source. This reference lists, per class, the configurable properties with their real names, their meaning, and their shipped default.
Where a plugin's defaults actually live
Unreal only merges one ini file for a plugin: its Default<PluginName>.ini. For Libretto
that file is Config/DefaultLibretto.ini. A config named after a sub-module (for example
DefaultSequenceGenerator.ini or DefaultTextToSpeech.ini) would never be loaded. That is
why several Libretto settings classes declare Config = "Libretto" even though they live in
different modules — so their shipped defaults are read from DefaultLibretto.ini like every
other Libretto setting.
Concretely, defaults such as ProjectCameraRules (Sequence Generator) and the MSVoice
DefaultTTSCulture / MSVoiceCharacterTable (Text To Speech) are set in
DefaultLibretto.ini, not in the header initializers. All of these can be overridden per
project from the corresponding Project Settings page; your project's overrides are written to
your project's Config/DefaultGame.ini (or the relevant per-project ini).
Defaults in the tables below
"Default" is the value used when nothing overrides it. Where the effective default comes from
DefaultLibretto.ini rather than the C++ initializer, this is called out in the row.
Project Settings ▸ Libretto¶
Backed by ULBRDialogueCoreSettings (module LBRCore). The global settings for the plugin:
where dialogues and generated assets live, runtime priority/volume rules, default flags, UI classes
and the detail-panel extenders.
Paths¶
| Property | Meaning | Default |
|---|---|---|
DialoguesDirectory |
Root folder holding the dialogues that are generated and shipped in the game (dialogues may live in sub-folders). | /Game/Dialogues |
AdditionalDialogueScanRoots |
Extra content roots (mount points, e.g. /MyPlugin) scanned for dialogues at startup, on top of the Libretto plugin and /Game. Set this if you keep dialogues in your own plugin so their gameplay tags get generated at startup. A plugin can auto-register its own root via its Config/DefaultLibretto.ini (+AdditionalDialogueScanRoots=/MyPlugin). |
(empty — no extra scan) |
GeneratedSequencesDirectory |
Folder where the generator writes the Level Sequences. | /Game/Libretto/DialogueSequences |
GeneratedTempSequencesDirectory |
Folder for Level Sequences of dialogues outside the Dialogues Directory. | /Game/Libretto/DialogueSequences/TEMP_DIALOGUES |
TextToSpeechDirectory |
Folder where the generator looks for TTS-generated voice lines. | /Game/Libretto/TextToSpeech |
VoiceLinesDirectory |
Folder where the generator looks for dialogue voice lines. | /Game/Libretto/Voices |
LipSyncDirectory |
Folder in which you place the LipSync animations. | /Game/Libretto/LipSync |
Runtime¶
| Property | Meaning | Default |
|---|---|---|
DefaultPosture |
Default posture descriptor used for all characters. | /Libretto/Postures/PDA_LBRRelaxed |
DialoguePriorities |
Ordered list of the project's dialogue priority classes (prio 0 beats prio 1). | empty in header; DefaultLibretto.ini ships BP_DialoguePriority_Cinematic, _Stage, _3C. |
DialoguePrioritiesRelations |
Relationships between priority categories. | (empty) |
RuntimeFlagsToVolumeModifier |
Per-runtime-flag volume modifiers (Default / Animation / Voice). Volume is refreshed manually via RefreshAudioVolume on the DialogueInstance (on start, or when muffled/muted). |
Muffled → 0.1 / 0.1 / 0.1 ; Muted → 0 / 0 / 0 |
Default flags¶
| Property | Meaning | Default |
|---|---|---|
DefaultSubdialogueFlags |
Flags applied to every subdialogue unless it carries Libretto.Flags.Subdialogue.NoDefault. |
(none set) |
DefaultLineFlags |
Flags applied to every line unless it carries Libretto.Flags.Lines.NoDefault. |
(none set) |
UI¶
| Property | Meaning | Default |
|---|---|---|
WidgetChoiceDefaultClass |
Choice widget spawned when a Choice has no flags. | (header: unset; DefaultLibretto.ini sets DefaultLBRDialogueChoiceWidget_WBP) |
WidgetChoiceMapClass |
Map of Choice flag → choice widget class, spawned when the Choice's flags match. | (empty) |
WidgetSubtitleClass |
Subtitle widget class (must implement LBRDialogueSubtitle). |
(header: unset; DefaultLibretto.ini sets LBRSimpleSubtitleWidget) |
Document¶
| Property | Meaning | Default |
|---|---|---|
Localization¶
| Property | Meaning | Default |
|---|---|---|
BaseCulture |
The culture most foreign cultures are translated from. May be the native culture, or empty. | en |
LocalizationTargetNamesToCheckDuplicate |
Localization targets checked for duplicates. | (empty) |
Audio¶
| Property | Meaning | Default |
|---|---|---|
AudioAssetClass |
Abstraction over audio asset files, to support different audio engines. | LBRUnrealAudioAsset |
Extenders¶
| Property | Meaning | Default |
|---|---|---|
LinePropertiesExtender |
Class extending the line details panel with extra metadata. | (unset) |
SubdialoguePropertiesExtender |
Class extending the subdialogue details panel. | (unset) |
DialoguePropertiesExtender |
Class extending the dialogue details panel. | (unset) |
Applying an Extender change
After changing an Extender, close and reopen any open Dialogues for the new properties to appear.
Editor¶
| Property | Meaning | Default |
|---|---|---|
ToolbarWidgetsFolderDirectory |
Direct children of type Editor Utility Widget in this folder are added to the Libretto toolbar dropdown. | /Libretto/Tools/ToolbarWidgets |
Editor Preferences ▸ Libretto (local)¶
Backed by ULBRDialogueCoreLocalSettings (module LBRCore). Machine-local, not shared through
source control (container Editor).
| Property | Meaning | Default |
|---|---|---|
bLogDebug |
Enable Libretto debug logs. | false |
bSynchronizeSourceControlOnRenamedAudioAndLipSync |
On renaming a Dialogue, also sync source control on its audio and LipSync files. May be very slow. | true |
Project Settings ▸ Libretto – Sequence Generator¶
Backed by ULBRSequenceGeneratorSettings (module LBRSequenceGenerator). Controls how
dialogue sequences and cameras are generated. Declares Config = "Libretto" so its defaults load
from DefaultLibretto.ini (see the info box above).
| Property | Meaning | Default |
|---|---|---|
SequenceDirectorClass |
Sequence Director class used to generate and play dialogue sequences. | LBRSequenceDirector |
bCreateLoopSequences |
If true, choices are followed by a loop sequence. | true |
ProjectCameraRules |
Default camera-rules preset (a LBRCameraRulesPreset DataTable row) used when generating a sequence's cameras. |
header: unset (→ random cameras); DefaultLibretto.ini sets DT_CameraRulesPresets row BasePreset. Overridable per stage (CameraRulesStageOverride) or per instance. |
MinShotLength |
Minimum length of a generated camera shot (seconds). | 2.0 |
MaxShotLength |
Maximum length of a generated camera shot (seconds). | 9.0 |
FolderNamesToSave |
Sub-folder names not cleaned up when a sequence is regenerated. | VFX, Audio |
SequenceColors |
Colors used by the subsequences shown in Sequencer. | 5 colors (purple, blue, brown, olive, yellow) |
LipSyncSubsystemName |
Name of the LipSync subsystem to use. | (empty) |
bAutoComputeSequenceTimes |
When updating the ID-marked frames, also resize all subsequence durations to fit their sections. | true |
TrackGenerators |
Classes generating Sequencer tracks. | Animation, Audio, Camera, Event, LipSync, Subtitle track generators |
AssetGenerators |
Classes generating assets (voice, anims…). | MSVoice, ElevenLabs generators |
VoskModelPath |
Vosk Model Folder (Word Analysis): folder of the vosk speech model used to time keyword gestures, absolute or relative to the project. Empty = keyword timing skipped. vosk is optional and installed by you — see Keyword-timed gestures. | (empty) |
Project Settings ▸ Libretto – Text To Speech¶
Backed by ULBRTextToSpeechSettings (module LBRTextToSpeechEditor). Configures TTS
providers. Declares Config = "Libretto" so the MSVoice defaults load from DefaultLibretto.ini;
API tokens stay empty and are set per project.
| Property | Meaning | Default |
|---|---|---|
TextToSpeechSubsystem |
Name of the Text To Speech subsystem to use (chosen from GetTTSOptions). |
(empty) |
ElevenLabsAPIToken |
Your ElevenLabs API token — required to use your own character quota. (Advanced.) | "" |
CharacterVoicesTable |
DataTable mapping each character to an ElevenLabs voice. | (unset) |
DefaultTTSCulture |
Default language/locale for generated MSVoice (Windows speech API) audio when a character row does not specify one. Drives both voice selection and spoken language (e.g. en-US, fr-FR). |
en-US (also set in DefaultLibretto.ini) |
MSVoiceCharacterTable |
DataTable (rows of FLBRMSVoiceCharacterDesc) mapping each character to a Windows voice / language / prosody for the MSVoice generator. Leave unset to auto-pick a voice per character by gender + default culture. |
header: unset; DefaultLibretto.ini points at example content DT_MSVoices (a soft ref shipped with the plugin). |
Project Settings ▸ Libretto – GPVars¶
Backed by ULBRGPVarSettings (module LBRTags). Seeds the GPVar tree at startup.
| Property | Meaning | Default |
|---|---|---|
DefaultGPVarsNodes |
Default GPVar nodes (map of FGPTagPath → FGPVarNode) created for the project. |
(empty) |
There is also a machine-local companion, ULBRGPVarLocalSettings (Editor Preferences ▸
Libretto – GPVars), with the same DefaultGPVarsNodes map for local-only defaults.
Project Settings ▸ Libretto – Asset Management¶
Backed by ULBRAssetManagementSettings (module LBRFoundation). Naming-prefix conventions
used by asset-management tooling.
| Property | Meaning | Default |
|---|---|---|
PersistentLevelPrefix |
Prefix expected on persistent (map) levels. | header: empty; DefaultLibretto.ini sets MAP_ |
SubLevelPrefix |
Prefix expected on sub-levels. | header: empty; DefaultLibretto.ini sets L_ |
Note
The full per-class prefix table (PrefixByClassName, e.g. BP_, DT_, M_…) is a wider map
defined in DefaultLibretto.ini and consumed through GetAllPrefixes / GetPrefixes. It is
not exposed as an individual Project-Settings property here.
Project Settings ▸ Libretto – Dialogue Editor¶
Backed by ULBRDialogueEditorSettings (module LBRDialogueEditor). Automatic format rules and
the text-preview rich-text configuration.
| Property | Meaning | Default |
|---|---|---|
RuleByCulture |
Map of culture → LBRFormatRules data asset. Add an entry per language to apply that language's automatic format rules. |
(empty) |
RulesWithoutCulture |
A LBRFormatRules data asset applied regardless of culture. |
(unset) |
RichTextDecoratorClasses |
Rich-text decorator classes used by the Text Preview panel. | (empty) |
RichTextStyleSet |
Rich-text style set (a RichTextStyleRow DataTable) for the Text Preview panel. |
(unset) |
See also
Authoring format rules and the rich-text preview is covered in Dialogue Editor ▸ Automatic format rules.
Editor Preferences ▸ Libretto – Dialogue Editor (local)¶
Backed by ULBRDialogueEditorLocalSettings (module LBRDialogueEditor). Machine-local editor
behaviour: spell-check triggers, edition helpers, and the Dialogue Editor's colours. Searching
"Dialogue Editor" in Editor Preferences also lets you rebind each command's keyboard shortcut.
Spell checker¶
| Property | Meaning | Default |
|---|---|---|
bLaunchCheckSpellerAtModification |
Run the spell checker on a line as it is modified. | true |
bLaunchCheckSpellerAtStart |
Run the spell checker on the whole dialogue when it opens. | false |
Edition¶
| Property | Meaning | Default |
|---|---|---|
bCreateElseWithIf |
Automatically create an ELSE line when creating an IF line. |
true |
bOpenSubdialogueOnDoubleClick |
If true, opening a subdialogue needs a double-click; if false, a single click. | false |
Colors¶
| Property | Meaning | Default |
|---|---|---|
bUseCustomColors |
Use the colours below instead of Unreal's defaults. | true |
KeyWord |
Colour of keywords (IF, REPLY…). Applies even with Unreal's default colours. | (221, 221, 221) |
TextHighlight |
Colour of highlighted text. | (0, 0, 8) |
TextCharacter1 |
Colour of the first character. | (255, 211, 114) |
TextCharacter2 |
Colour of the second character. | (6, 214, 160) |
TextCharacter3 |
Colour of the third character. | (242, 92, 84) |
TextCharacter4 |
Colour of the fourth character. | (186, 165, 255) |
TextCharacter5 |
Colour of the fifth character. | (112, 244, 137) |
TextCharacterNone |
Colour when a line has no character. | (255, 0, 255) |
ConditionLabel |
Colour of a condition's label. | (119, 177, 255) |
ActionLabel |
Colour of an action's label. | (119, 177, 255) |
TreeGotoDestination |
Background of a GoTo's destination when a GoTo line is selected. | (8, 8, 8) |
TreeSameSequence |
Background of lines in the same sequence as the selected line. | (4, 4, 4) |
TreeWarning |
Background of lines carrying a warning. | (90, 0, 0, 128) |
PlayingAudio |
Background of the line whose audio is currently playing. | (32, 84, 51, 128) |
ShouldNotBeDisplayed |
Fallback colour for anything that should not be shown. | (255, 0, 255) |
Priority Editor¶
| Property | Meaning | Default |
|---|---|---|
DialoguePriorityContextTagGroups |
Available context tag groups for the priority editor (each with a CanHaveNone flag). |
NPC-in-both group (CanHaveNone = true); Player-in-both/new/running group (CanHaveNone = false) |
DialoguePriorityGridTitleHeaderCellBackgroundColor |
Priority grid — title header cell background. | near-black (0.0103…) |
DialoguePriorityGridTitleHeaderCellForegroundColor |
Priority grid — title header cell foreground. | grey (0.521…) |
DialoguePriorityGridPriorityHeaderCellBackgroundColor |
Priority grid — priority header cell background. | dark grey (0.130…) |
DialoguePriorityGridPriorityHeaderCellForegroundColor |
Priority grid — priority header cell foreground. | near-black (0.0103…) |
DialoguePriorityGridContextHeaderCellBackgroundColor |
Priority grid — context header cell background. | grey (0.198…) |
DialoguePriorityGridContextHeaderCellForegroundColor |
Priority grid — context header cell foreground. | near-black (0.0103…) |
DialoguePriorityOutcomesColors |
Per-outcome background colour (indexed by ELBRDialoguePriorityOutcome). |
one colour per outcome (Default, Play, PlayMuffled, PlayMuted, Interrupt, Muffle, Mute, Ignore, Pause) |
DialoguePriorityOutcomesForegroundColors |
Per-outcome text colour, drawn over the outcome colour. | one colour per outcome |
DialoguePriorityOutcomesIcons |
Per-outcome icon texture. | T_PriorityOutcome_* textures under /Libretto/Tools/Textures (Default has none) |