Skip to main content
New Participant
December 15, 2025
Question

I cannot use VisemeDriver Component

I would like to estimate visemes from audio in Unity.
I configured my project according to the documentation, but FaceExpression.AreVisemesValid is always false, and as a result, the VisemeDriver component does not work.


This issue also occurs in the Face Tracking sample scene included with the Meta Movement SDK.

Unity version: 6000.2.10f1
Meta Core SDK version: 81.0.0
Meta Movement SDK version: 81.0.0

How can I use the VisemeDriver?
Please let me know if there is a workaround or solution.

3 replies

xlilx3020Author
New Participant
December 15, 2025

AreVisemesValid is updated inside the Update function in OVRFaceExpressions.cs at line 213.
It is computed as the logical AND of the following two conditions:

  • OVRPlugin.GetFaceVisemesState(OVRPlugin.Step.Render, ref _currentFaceVisemesState) == OVRPlugin.Result.Success
  • _currentFaceVisemesState.IsValid

The first function, OVRPlugin.GetFaceVisemesState, is defined in OVRPlugin.cs at line 10308.
Inside it, the following call at line 10315 returns Failure_Unsupported:

Result res = OVRP_1_104_0.ovrp_GetFaceVisemesState( stepId, -1 /* OVRP_CURRENT_FRAMEINDEX */, out cachedFaceVisemesState );

Because this call returns Failure_Unsupported, AreVisemesValid always becomes false.

Since OVRP_1_104_0.ovrp_GetFaceVisemesState is implemented inside a DLL, I cannot inspect its internal implementation.

Although the Meta Movement SDK claims to support visemes, the current situation is that they cannot actually be used. This appears to require a fix. I am looking for an alternative approach.

Please help.

xlilx3020Author
New Participant
December 15, 2025

In the Face Tracking sample scene of the Movement SDK, it can be confirmed that lip sync is working based on audio input. However, this does not provide viseme labels. Instead, it simply derives the weights of OVRFaceExpressions.FaceExpression from the audio and updates the corresponding blend shapes.

This approach is inconvenient and cannot be used when an avatar’s blend shapes are authored to correspond specifically to visemes.

Urgent action is required to address this issue.
How are others handling this situation?

xlilx3020Author
New Participant
December 16, 2025

Does anyone know about this?