Skip to content

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)