> ## 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 .avatar format

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

This is also true for VRM. If you are using VRM, please head over to the equivalent VRM 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 .avatar, we use Oculus Lipsync blendshapes for the microphone, and* *we recommend Vive SRAnipal blendshapes for face tracking*

*- In VRM, we use A/I/U/E/O blendshapes for the microphone, and* *we recommend Apple ARKit blendshapes for face tracking*

# .avatar Format

## Naming convention

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

Our current approach is to use naming conventions. In the future, we will provide you with a creation kit for avatars so that you can control exactly what is being animated.

We scan the entire avatar for SkinnedMeshRenderer components. We will animate all of those that have compatible blendshapes based on their name.

## Microphone

For the microphone, it is loosely based on naming conventions derived from [Oculus Lipsync](https://developer.oculus.com/documentation/unity/audio-ovrlipsync-viseme-reference/), itself derived from the [Viseme MPEG-4 Standard](https://www.oculus.com/lynx/?u=http%3A%2F%2Fwww.visagetechnologies.com%2Fuploads%2F2012%2F08%2FMPEG-4FBAOverview.pdf\&e=AT2WHhcUwhjPOmRU3XxyshGbnvXEHAYcdKSptKMkoJs0HrkLEQkvBtt16gpm1fI74mekp0hDU0oA26dpFlw69bV1cooZZRWCQo59S2YXIGiccZRrDwrqZOm6Jve0s-2u189SHwuZRKXAuA6STEAzs5IP_-h6S0XKEQM5vA).

**The blendshape names are case-sensitive.** You need to make sure the names match exactly according to this list:\
Viseme: Sil = viseme\_sil, v\_sil\
Viseme: PP = viseme\_PP, v\_PP\
Viseme: FF = viseme\_FF, v\_FF\
Viseme: TH = viseme\_TH, v\_TH\
Viseme: DD = viseme\_DD, v\_DD\
Viseme: Kk = viseme\_kk, v\_kk\
Viseme: CH = viseme\_CH, v\_CH\
Viseme: SS = viseme\_SS, v\_SS\
Viseme: Nn = viseme\_nn, v\_nn\
Viseme: RR = viseme\_RR, v\_RR\
Viseme: Aa = viseme\_aa, v\_aa\
Viseme: E = viseme\_E, v\_E, viseme\_ee, v\_ee\
Viseme: I = viseme\_I, v\_I, viseme\_ih, v\_ih\
Viseme: O = viseme\_O, v\_O, viseme\_oh, v\_oh\
Viseme: U = viseme\_U, v\_U, viseme\_ou, v\_ou

## Eye gaze

Eye gaze works by rotating your avatar eye bones to match where you're looking at. You must enable ""Use Experimental Eye Gaze"" located in the VR LIV menu.

We will try to use the eye bones that are specified in the humanoid configuration of the avatar asset.

This can be set in the import settings of your avatar asset, usually a FBX file.

## Lip/Eye tracking blendshapes

### SRAnipal-styled naming (recommended for .avatar)

For Face tracking, it is based on [SRAnipal LipShape\_v2 and EyeShape\_v2](https://developer.vive.com/resources/openxr/openxr-pcvr/tutorials/unity/integrate-facial-tracking-your-avatar/).

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

### ARKit-styled naming

If you avatar was already designed with ARKit in mind, we will also 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.

Please don't have both ARKit-styled blendshapes and SRAnipal-styled blendshapes simultaneously!

# VRM Format

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