Facial animation
Intermediate Last updated Jul 9, 2026
Questwright needs no performance capture: facial animation is baked from the voice-over audio. If a line has VO, it gets lip-sync, whether the audio came from TTS or your own recordings.
The bake (build time)
The build’s facial stage runs MetaHuman Animator on each voiced line and bakes a lip-sync
UAnimSequence per line (FA_<LineId>), with the mood derived from the line’s emotion:
value. Like every stage, it is idempotent: unchanged lines are skipped, orphaned face
animations of deleted lines are pruned.
Requirements for this stage: the MetaHuman plugin enabled and DX12. Both are checked in the Build tab’s pre-flight; a facial toggle there lets you skip the stage entirely (fast iteration builds).
Runtime layering
At runtime the plugin layers the face in code on any MetaHuman; your character’s Animation Blueprints are never modified:
lip-sync slot → procedural blinking → additive emotion → eye gaze → the character's own RigLogic
Head-turn toward the current speaker is applied through a runtime post-process Anim Blueprint on the body (the head bone is leader-posed from the body on MetaHumans), so characters naturally look at whoever is talking, including after mid-dialogue staging moves.

Fails soft, always
Every part of the face pipeline degrades gracefully instead of breaking the build or the scene:
| Situation | Result |
|---|---|
| No MetaHuman plugin / no DX12 | Face stage skipped with a warning; dialogue plays with a neutral face |
| Character is not a MetaHuman | Dialogue, staging and cameras work; no baked lip-sync |
| A face asset fails to load | Neutral face for that line, log warning |
The face and head-look Anim Blueprint classes are soft references resolved lazily at runtime, so the plugin loads fine in projects without any MetaHuman content at all.
Localized faces
Each language gets its own voice-over and its own lip-sync bake: a Russian line moves the mouth like Russian. Per-culture assets are swapped by the engine’s localization system in packaged builds (see Localization for the PIE caveat).