Precompute Visemes to Save CPU Processing with Unreal
Updated: Apr 17, 2026
End-of-Life Notice for Oculus Lipsync Plugin
The Oculus Lipsync Plugin is in end-of-life stage and will not receive further updates or support. For audio-driven lip sync, the
Movement SDK provides equivalent viseme functionality through audio-based face tracking, delivering the same 15 visemes via the
XR_META_face_tracking_visemes OpenXR extension.
The OculusXRMovement module in the Movement SDK supports both visual-based face tracking (Meta Quest Pro) and audio-based face tracking (Meta Quest 2 and later). Audio-based face tracking generates visemes from audio input, providing a migration path from the Oculus Lipsync Plugin.
This documentation is no longer being updated and is subject to removal.
You can save a lot of processing power by pre-computing the visemes for recorded audio instead of generating the visemes in real-time. This is particularly useful for lip synced animations on non-playable characters or in mobile apps as there is less processing power available.
To Generate LipSync Sequence:
- Import an audio file to your Unreal project
- Right click the audio file and choose Generate LipSyncSequence
The following image shows an example:

- Add an
OVRLipSyncPlaybackActorComponent to your scene. The OVRLipSyncPlaybackActorComponent works the same as an OVRLipSyncLiveActorComponent, but reads the visemes from a pre-computed sequence asset instead of generating them in real-time. - Set the sequence of the
OVRLipSyncPlaybackActorComponent to the previously precomputed lipsync asset. The following image shows an example:
