> ## Documentation Index
> Fetch the complete documentation index at: https://liv-creators.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Microphone, Face, and Eye tracking support on VRM format

LIV will try to animate your **VRM** when you are using the microphone, lip tracking, or eye tracking.

This is also true for .avatar. If you are using .avatar, please head over to the equivalent .avatar article.

This article does not describe how to artistically model the blendshapes; it only describes which technical names the LIV software expects to function.

*For information about the artistic aspect, you should refer to other online resources.*

*- In VRM, we use *[*A/I/U/E/O blendshapes*](https://vrm.dev/en/univrm/blendshape/univrm_blendshape.html?highlight=mouth#a-i-u-e-o)* for the microphone, and* *we recommend *[*Apple ARKit*](https://developer.apple.com/documentation/arkit/content_anchors/tracking_and_visualizing_faces)* blendshapes for face tracking*

*- In .avatar, we use *[*Oculus Lipsync blendshapes*](https://developer.oculus.com/documentation/unity/audio-ovrlipsync-viseme-reference/)* for the microphone, and* *we recommend *[*Vive SRAnipal*](https://developer-express.vive.com/resources/vive-sense/eye-and-facial-tracking-sdk/)* blendshapes for face tracking*

# VRM Format

## Naming convention

When using the VRM format, we attempt to find out if it is compatible with face tracking (lip and eyes).

We are using naming conventions by looking for specific BlendShape Clip names and animating them.

## Microphone

For the microphone, we use the five standard [A/I/U/E/O](https://vrm.dev/en/univrm/blendshape/univrm_blendshape.html?highlight=mouth#a-i-u-e-o) blendshapes. These blendshapes are commonly defined as part of the standard set of BlendShape Clips in the VRM format.

## Eye gaze

Eye gaze works using the standard VRM [LookAt](https://vrm.dev/en/univrm/lookat/index.html) components.

We have additional option named ""Use Experimental Eye Gaze"" located in the VR LIV menu. This option is aimed at tweaking eye tracking experience for VR use, as eye gaze in VR may feel different from using traditional webcam-based VTubing software:

* When disabled, it will strictly follow the configuration as defined in the VRM.

* When enabled, it will modify the behaviour of the VRM LookAt Bone Applyer component to more strictly match where you're looking at. This results in stronger eye rotations, which could look artistically inaccurate depending on your avatar.

## Lip/Eye tracking blendshapes

**We recommend using ARKit-styled naming for VRM compatibility with other software**.

ARKit-styled naming is a popular convention in existing VRM-based software, so you will benefit from VRM compatibility with other software.

If you are specifically targeting VR software, there is no clear preference between ARKit-styled naming and SRAnipal-styled naming.

Some facial features available in SRAnipal are not available in ARKit, and inversely.

Some facial features in ARKit will not be animated because the VR hardware does not capture these features.

### ARKit-styled naming (recommended for VRM)

If you avatar is designed with ARKit in mind, we will look for blendshapes named after ARKit-styled naming as defined in [ARKitBlendShapeLocation](https://docs.unity3d.com/Packages/com.unity.xr.arkit-face-tracking@1.0/api/UnityEngine.XR.ARKit.ARKitBlendShapeLocation.html), where the first letter is uppercase:

BrowDownLeft BrowDownRight BrowInnerUp BrowOuterUpLeft BrowOuterUpRight\
CheekPuff CheekSquintLeft CheekSquintRight EyeBlinkLeft EyeBlinkRight\
EyeLookDownLeft EyeLookDownRight EyeLookInLeft EyeLookInRight EyeLookOutLeft\
EyeLookOutRight EyeLookUpLeft EyeLookUpRight EyeSquintLeft EyeSquintRight\
EyeWideLeft EyeWideRight JawForward JawLeft JawOpen\
JawRight MouthClose MouthDimpleLeft MouthDimpleRight MouthFrownLeft\
MouthFrownRight MouthFunnel MouthLeft MouthLowerDownLeft MouthLowerDownRight\
MouthPressLeft MouthPressRight MouthPucker MouthRight MouthRollLower\
MouthRollUpper MouthShrugLower MouthShrugUpper MouthSmileLeft MouthSmileRight\
MouthStretchLeft MouthStretchRight MouthUpperUpLeft MouthUpperUpRight NoseSneerLeft\
NoseSneerRight TongueOut

You can also look at [ARFaceAnchor.BlendShapeLocation](https://developer.apple.com/documentation/arkit/arfaceanchor/blendshapelocation/2928261-eyeblinkleft) documentation for reference but keep in mind the first letter must be uppercase.

All of the BlendShape Clips should be defined. Otherwise, MouthSmileLeft must be defined for your avatar to be recognized as compatible with ARKit-styled naming.

### SRAnipal-styled naming

If your avatar does not have ARKit-styled blendshapes, we will also look for [SRAnipal LipShape\_v2 and EyeShape\_v2](https://developer.vive.com/resources/openxr/openxr-pcvr/tutorials/unity/integrate-facial-tracking-your-avatar/) blendshapes.

We will look for blendshapes with the following names, case sensitive:

Eye\_Left\_Blink Eye\_Left\_Wide Eye\_Left\_Right Eye\_Left\_Left Eye\_Left\_Up\
Eye\_Left\_Down Eye\_Right\_Blink Eye\_Right\_Wide Eye\_Right\_Right Eye\_Right\_Left\
Eye\_Right\_Up Eye\_Right\_Down Eye\_Frown Eye\_Left\_Squeeze Eye\_Right\_Squeeze\
Jaw\_Right Jaw\_Left Jaw\_Forward Jaw\_Open Mouth\_Ape\_Shape\
Mouth\_Upper\_Right Mouth\_Upper\_Left Mouth\_Lower\_Right Mouth\_Lower\_Left Mouth\_Upper\_Overturn\
Mouth\_Lower\_Overturn Mouth\_Pout Mouth\_Smile\_Right Mouth\_Smile\_Left Mouth\_Sad\_Right\
Mouth\_Sad\_Left Cheek\_Puff\_Right Cheek\_Puff\_Left Cheek\_Suck Mouth\_Upper\_UpRight\
Mouth\_Upper\_UpLeft Mouth\_Lower\_DownRight Mouth\_Lower\_DownLeft Mouth\_Upper\_Inside Mouth\_Lower\_Inside\
Mouth\_Lower\_Overlay Tongue\_LongStep1 Tongue\_LongStep2 Tongue\_Down Tongue\_Up\
Tongue\_Right Tongue\_Left Tongue\_Roll Tongue\_UpLeft\_Morph Tongue\_UpRight\_Morph\
Tongue\_DownLeft\_Morph Tongue\_DownRight\_Morph

All of the BlendShape Clips should be defined. Otherwise, Mouth\_Smile\_Left must be defined for your avatar to be recognized as compatible with SRAnipal-styled naming.

### Default behaviour

If your avatar has neither ARKit nor SRAnipal blendshapes, we will use the standard Joy and Sorrow BlendShape Clips as a fallback.

# .avatar Format

If you are using .avatar, please head over to the equivalent .avatar article.
