Wwise Audio
When the dialogue already lives in a Wwise project, this path queues one job per Wwise Sound and solves each from the media Wwise's own conversion produced — not the source WAV. What ships in the game is what drives the face.
Pipeline stages
The first two stages run when you add the jobs, not when the batch starts. Enumerating over WAAPI and transcoding up front means an unconvertible sound is reported now, by name, instead of failing deep inside a batch hours later. From the solve onwards it is an ordinary audio job.
Required setup
WwiseConsole's waapi-server works too. Both serve HTTP on port 8090 by default. Queueing the sounds
Open Add Jobs..., pick the Audio source, then the Wwise sub-source. Refresh re-checks the WAAPI connection and lists the Sounds under the container; the platform and language pickers are populated from the platforms and languages the open Wwise project actually defines, so there is nothing to type.
\Containers\Dialogue. Every Sound beneath it becomes one job. Pre-filled from Global Settings. Windows. English(US). The endpoint and the default container live under Wwise in Global Settings. Sounds already in the queue are skipped, so re-running against a container after adding new dialogue queues only what is new.
What the plugin touches
Nothing Wwise owns is copied into the content tree. Each Sound's converted .wem is
repacked as a standard WAV under Saved/MHAManager/WwiseAudio and imported
transiently for the solve — Wwise's media is already RIFF, but its header carries a
Wwise-private extension and extra chunks the engine's importer rejects, so the PCM payload is
rewritten behind a plain 44-byte header.
Outputs land in a Wwise subfolder of the output base. Wwise take names are the
sound designer's, not the shoot's, so they can collide with a local WAV of the same name — and
two jobs sharing an output path means the second silently adopts the first's Performance.
Exported Level Sequences
A Wwise-sourced job's exported Level Sequence carries a Wwise event track rather than a sound wave track, so the cinematic plays its dialogue through the sound engine instead of a copied WAV. The track is resolved by reflection, so a project without the Wwise Unreal plugin simply skips it and says so in the job's warnings — nothing fails.
If the named event asset does not exist yet, generate SoundBanks and reconcile the Wwise
assets in Unreal first; the event track needs a real AkAudioEvent asset to bind.
USoundWave is silent — including the
sound wave track Epic writes onto an exported Level Sequence — so a perfectly exported audio
cinematic plays nothing. The plugin detects this and records a warning on the job. The fix is
Project Settings > Wwise > Integration Settings > Unreal Audio Routing
set to "Both Wwise and Unreal audio", followed by an editor restart. There is no console
command for it.
Driving it from a script
The same enumeration is available as an MCP tool, add_wwise_audio_jobs, which
takes the container path, WAAPI endpoint, platform, and language, and returns the queued job
ids plus the names of any sounds it could not convert. See
MCP Toolset.