[HOWTO] How To: Handle Localized Voiceover in Development
Posted: Thu Jun 12, 2025 3:15 pm
Voiceover files typically use entrytags for filenames -- or entrytaglocal when localizing voiceover into multiple languages. (See Cutscene Sequence Tutorials part 4 for info on entrytags.)
As you're developing a game that uses voiceover, you may not have all of the voiceover files in place yet. If you use AudioWait(entrytaglocal) commands, they will silently end immediately if the specified voiceover file doesn't exist. By default, Audio() and AudioWait() sequencer commands don't report missing audio files to reduce Console spam during development. To be notified about missing voiceover files, tick the Dialogue Manager's Display Settings > Camera & Cutscene Settings > Report Missing Audio Files checkbox.
To ensure that the subtitle stays visible for a duration even if the audio file is missing, also use a Delay() command or a WaitForMessage(Typed) command.
For example, this command will wait for the AudioWait() command to finish and for a duration based on the text length:
This command, on the other hand, will wait for the AudioWait() command to finish and for the subtitle text's typewriter effect to end:
If you want to play the default audio file (e.g., entrytag) when a localized version (entrytaglocal) doesn't exist, you can make a subclass of SequencerCommandAudioWait that overrides the TryAudioClip() method. Your overridden method can check if the specified audio file exists. If not, load the default audio file instead.
As you're developing a game that uses voiceover, you may not have all of the voiceover files in place yet. If you use AudioWait(entrytaglocal) commands, they will silently end immediately if the specified voiceover file doesn't exist. By default, Audio() and AudioWait() sequencer commands don't report missing audio files to reduce Console spam during development. To be notified about missing voiceover files, tick the Dialogue Manager's Display Settings > Camera & Cutscene Settings > Report Missing Audio Files checkbox.
To ensure that the subtitle stays visible for a duration even if the audio file is missing, also use a Delay() command or a WaitForMessage(Typed) command.
For example, this command will wait for the AudioWait() command to finish and for a duration based on the text length:
Code: Select all
AudioWait(entrytaglocal);
Delay({{end}})
Code: Select all
AudioWait(entrytaglocal);
WaitForMessage(Typed)