Candy Logo Copyright © 2025-2026 Candy Arts

Subtitles Mode
Subtitles mode displays the spoken text as subtitles: a wide, thin area of text, with no portrait or speaker label. The speaker's name can still be written at the start of the spoken text (on by default, between parentheses). Engine Settings The following settings are available in the Engine (Candy_Engine.gd):
SettingPurpose
subtitles_text_bbcodeBBCode tags wrapped around the spoken text. Write the opening tags only: the Engine adds the closing tags.
subtitles_speaker_bbcodeBBCode tags wrapped around the speaker name. Write the opening tags only: the Engine adds the closing tags.
subtitles_show_speakerWrite the speaker's name at the start of the spoken text.
subtitles_speaker_prefixText added before the speaker's name, when subtitles_show_speaker is true.
subtitles_speaker_suffixText added after the speaker's name, when subtitles_show_speaker is true.
subtitles_end_of_line_stringThe end-of-line string before advancing to the next Line.
subtitles_advance_stringThe end-of-line string after advancing to the next Line.
subtitles_self_clearClear the subtitles when dialogue advances to the next Line.
lexicon_subtitles_modeEnable Lexicon formatting in the spoken text.
writing_speedTypewriter speed, in characters per second. 0 displays the whole Line at once.
continue_fast_speedTypewriter speed while the speed-up input is held.
continue_slow_speedTypewriter speed while the slow-down input is held.
sync_write_speed_voiceMatch the typewriter's speed to the voice file's length. The synchronization is lost if the player accelerates or slows down the writing.
auto_advanceSeconds to wait before automatically advancing to the next Line. -1: Disable (manual advance only). 0: Advance immediately when writing is finished.
auto_advance_per_characterSeconds added to auto_advance for each character the Line displays (e.g. 0.05 adds 5 seconds to a 100-character Line). Ignored when auto_advance is -1.
enable_voicePlay voice files or TTS for Spoken Lines.
await_voice_playbackDisable advancing until voice playback has finished.
text_to_speechText-To-Speech: "Off": Don't use Text-To-Speech. "Simple": Use the spoken text (without BBCode tags) for Text-To-Speech. "Advanced": Use the _TTS Variation for Text-To-Speech. Additional TTS modes are created in the tts() hook function (Tts.gd).
tts_advanced_fallbackThe TTS mode to use instead of "Advanced" when a Line has no "_TTS" Variation. Without TTS modes of your own, the only values are "Simple" and "Off".
llm_modeQuery an LLM to write the text to display.
write_dialogue_historyLog Spoken Lines in the Dialogue History.
UI Settings The following settings are available in the subtitles UI element itself (Subtitles_UI.gd): Overrides Each of these replaces the Engine setting of the same purpose while its enable_ switch is on (e.g. enable_writing_speed):
SettingOverrides
text_bbcodesubtitles_text_bbcode
speaker_bbcodesubtitles_speaker_bbcode
show_speakersubtitles_show_speaker
speaker_prefixsubtitles_speaker_prefix
speaker_suffixsubtitles_speaker_suffix
end_of_line_stringsubtitles_end_of_line_string
advance_stringsubtitles_advance_string
self_clearsubtitles_self_clear
lexicon_modelexicon_subtitles_mode
writing_speedwriting_speed
continue_fast_speedcontinue_fast_speed
continue_slow_speedcontinue_slow_speed
sync_write_speed_voicesync_write_speed_voice
auto_advanceauto_advance
auto_advance_per_characterauto_advance_per_character
enable_voiceenable_voice
await_voice_playbackawait_voice_playback
text_to_speechtext_to_speech
tts_advanced_fallbacktts_advanced_fallback
llm_modellm_mode
write_dialogue_historywrite_dialogue_history
Other
SettingPurpose
default_zThe subtitles' Z-order.
Actor Overrides The following overrides can be assigned to Actors (actors dictionary):
PropertyOverrides
SubtitlesTextBBCodesubtitles_text_bbcode
SubtitlesSpeakerBBCodesubtitles_speaker_bbcode
SubtitlesShowSpeakersubtitles_show_speaker
SubtitlesSpeakerPrefixsubtitles_speaker_prefix
SubtitlesSpeakerSuffixsubtitles_speaker_suffix
SubtitlesEndOfLineStringsubtitles_end_of_line_string
SubtitlesAdvanceStringsubtitles_advance_string
SubtitlesSelfClearsubtitles_self_clear
LexiconSubtitlesModelexicon_subtitles_mode
DialogueModedialogue_mode
WritingSpeedwriting_speed
ContinueFastSpeedcontinue_fast_speed
ContinueSlowSpeedcontinue_slow_speed
SyncWriteSpeedVoicesync_write_speed_voice
AutoAdvanceauto_advance
AutoAdvancePerCharacterauto_advance_per_character
EnableVoiceenable_voice
AwaitVoicePlaybackawait_voice_playback
TTStext_to_speech
TTSAdvancedFallbacktts_advanced_fallback
LLMllm_mode
WriteDialogueHistorywrite_dialogue_history
The Actor's DisplayName is the name displayed at the start of the text, translated into the Engine's current language (see Translating Names). Line Overrides The following overrides can be assigned to Spoken Lines:
KeyOverrides
Text_BBCodesubtitles_text_bbcode
Speaker_BBCodesubtitles_speaker_bbcode
Show_Speakersubtitles_show_speaker
Speaker_Prefixsubtitles_speaker_prefix
Speaker_Suffixsubtitles_speaker_suffix
End_Of_Line_Stringsubtitles_end_of_line_string
Advance_Stringsubtitles_advance_string
Self_Clearsubtitles_self_clear
Lexicon_Modelexicon_subtitles_mode
Dialogue_Modedialogue_mode
Writing_Speedwriting_speed
Continue_Fast_Speedcontinue_fast_speed
Continue_Slow_Speedcontinue_slow_speed
Sync_Write_Speed_Voicesync_write_speed_voice
Auto_Advanceauto_advance
Auto_Advance_Per_Characterauto_advance_per_character
Enable_Voiceenable_voice
Await_Voice_Playbackawait_voice_playback
TTStext_to_speech
TTS_Advanced_Fallbacktts_advanced_fallback
LLMllm_mode
Write_Dialogue_Historywrite_dialogue_history