Fighting Game · Guides & deep dives

TTS Fallback For Missing VO

the line ID, locale, localized text, speaker name, source voice cue, and platform TTS voice ID for a dialogue line.

2sections1 minread

On this page

This document defines the text-to-speech fallback for missing VO required by TODOS.phase-72.72.11.2.13. The fallback uses platform TTS when recorded voice-over is missing, while still preferring recorded VO whenever source WAV coverage is present. This covers accessibility playback and incomplete localizations without hiding the missing recording from production reports.

The tracked contract is V2/ue/Content/Localization/V2/TTSFallbackForMissingVO_V2_Contract.json. The generated fallback plan is V2/ue/Content/Localization/V2/VoiceOver/TTSFallback/TTSFallbackForMissingVO_V2.json, with summary coverage in V2/ue/Content/Localization/V2/VoiceOver/TTSFallback/TTSFallbackForMissingVOReport_V2.json.

Runtime Path#

UV2DialogueRuntimeLibrary::BuildDialogueVoiceOverTtsFallbackViewModel accepts the line ID, locale, localized text, speaker name, source voice cue, and platform TTS voice ID for a dialogue line. It keeps recorded VO when audio is available, queues platform TTS when a localization is incomplete, and can also queue TTS for accessibility even when recorded VO exists.

The helper returns a view model with:

  • bUseRecordedVoiceOver when the localized source WAV and voice cue are present.
  • bUsePlatformTextToSpeech when platform TTS should be queued.
  • bFallbackBecauseMissingVoiceOver when TTS is specifically replacing missing VO.
  • TextToSpeechUtterance built from speaker name plus localized line text.
  • PlatformTextToSpeechVoiceId matching the selected locale.

Generated Fallback Plan#

V2/ue/Tools/generate-v2-tts-fallback-for-missing-vo.py reads VoiceOverIntegrationPipeline_V2.json and the recording script export. Each integration row that reports missing audio becomes a platform TTS fallback row. Rows with matched audio stay on recorded VO so temporary TTS does not mask finished localization work.

V2/ue/Tools/check-v2-tts-fallback-for-missing-vo.py validates deterministic generation, the all-missing VO case, an all-recorded VO case with temporary source WAVs, missing text rejection, runtime helper coverage, CI wiring, Horde gates, and this document.