Skip to content

CVR Face Tracking

Reads from the FaceTrackingManager and drives blendshapes on a SkinnedMeshRenderer so face and eye tracking hardware animates the avatar. Supports both the legacy VIVE shape set and the newer Unified Expressions shape set.

SkinnedMeshRenderer. Mesh containing the face-tracking blendshapes. Looked up by name on Start so missing shapes are skipped gracefully.

bool. Master toggle. When false the mesh is reset to basis each frame. Can be flipped at runtime by an animation. Default true.

float. Percentage multiplier (0-500) applied to resolved blendshape values. Default 100.

CVRFaceTrackingExpressionsMode enum:

  • Legacy — 37-shape VIVE style. Only mouth / lip shapes drive.
  • UnifiedExpressions — 88-shape Unified Expressions. Eye shapes (0-15) and mouth shapes (16-87) both drive. The component also packs unified shape values (3 per byte) into the legacy-length array so remote peers can downsample.

string[]. Blendshape names indexed by shape slot. Length is 88 (Unified Expressions max). The Auto select Blendshapes editor button populates this array by name match. When a slot is empty, the shape is skipped.

  • isLocal — true when the parent has a PlayerSetup (i.e. this is the local player’s face tracking).
  • SyncWasUpdated, HadEyeShapeValues, HadMouthShapeValues — used by the network layer to decide whether to broadcast a tick.
  • BlendShapeValues — legacy 37-slot float array (also carries packed unified data for network compression).
  • Internal _blendShapeIndexes caches the mesh’s blendshape indices so the per-frame update does not need another lookup.
  • ApplyRemoteData(float[] previous, float[] current, float lerp) — inbound from the network layer. Lerps between the previous and current frames. In Unified mode, unpacks 3 bytes per legacy float into the 88-slot array.
  • Auto select Blendshapes — populates the FaceBlendShapes slots by name.
  • Open Blendshape Generator — opens the Face Tracking Utilities window.

See the VIVE Eye and Facial Tracking SDK and the Unified Expressions reference for shape semantics.

CVR-GameFiles/ABI.CCK.Components/CVRFaceTracking.cs