This document defines the voice-over recording script export for
TODOS.phase-72.72.11.2.7. The export turns localized dialogue data into
actor-facing script packets with the line text, scene context, performance
direction, slate IDs, subtitle timing IDs, and deterministic target VO asset
names needed for recording sessions.
The tracked contract is
V2/ue/Content/Localization/V2/VoiceOverRecordingScriptExport_V2_Contract.json.
The deterministic script export lives at
V2/ue/Content/Localization/V2/VoiceOver/RecordingScripts/VoiceOverRecordingScriptExport_V2.json,
and the generated summary report lives at
V2/ue/Content/Localization/V2/VoiceOver/RecordingScripts/VoiceOverRecordingScriptExportReport_V2.json.
Source Data#
V2/ue/Tools/generate-v2-voice-over-recording-script-export.py reads the Asha
Storm market-intro dialogue tree, the localized dialogue rows, and the
voice-over asset manifest. It exports one packet per localized VO locale present
in the dialogue localization file and preserves every voiced dialogue line ID in
tree order.
The current fixture exports six Asha story-dialogue lines for en-US and six
matching lines for es-ES. Each exported row includes source text, localized
recording text, the localized voice cue, subtitle timing ID, take count, WAV
asset filename, and metadata sidecar filename.
Context And Direction#
Every exported recording row carries context derived from the dialogue tree: dialogue title, node ID, incoming edge, outgoing edge, and authored tags. The direction field is selected from the authored tags so the actor sees the performance intent for greetings, route guidance, repeated lines, ambient day and evening lines, and farewells.
Asset names follow the voice-over asset-management convention:
VO_{localeToken}_story_dialogue_{speakerId}_{slateId}_T01.wav. Metadata
sidecars use the same stem with .voasset.json.
Validation#
V2/ue/Tools/check-v2-voice-over-recording-script-export.py validates the
contract, generated script export, generated report, deterministic output,
actor-facing context, actor-facing direction, asset naming, documentation,
GitHub workflow wiring, Horde required gates, and the phase-72 checklist. The
checker also runs a negative case that removes a localized voice cue and expects
the generator to fail with a reported recording-script violation.