SoftwareOctober 24, 2026

Sixteen Meshes and 512 Instructions: VRChat's Face Tracking Moved Into the SDK

By Nina Castillo
Staff Writer, VR.org
Share

Open the VRC Avatar Descriptor in the current Avatars SDK beta and there is a section that was not there before: Face Tracking. Click Enable and you get a blendshape mapping table, an Auto-Fill button, and a list of tracking keys the client drives itself. That table is the whole change. Face tracking used to be something you bolted on from outside, with a second app running alongside the game. It is now a field in the descriptor, next to lip sync and eye look.

Advertisement
A group of VRChat avatars posed together under blue water, including an anime character in an orange coat, a photoreal bearded man in a blue shirt, a cartoon crocodile and a man in a dark suit with a robotic arm
Image: VRChat Inc. / Steam

The work shipped in the Open Beta client on Steam alongside Avatars SDK 3.10.6-beta.1, which VRChat pushed to its packages repository on October 19, with beta.2 later that day and beta.3 on October 23. UploadVR reported the feature on October 23. VRChat had promised SDK support for higher fidelity face tracking back in October 2024, then laid the system out in a developer update on September 24, where it was called High Fidelity Face Tracking and the timing was given as "Soon." The newest stable release is still 3.10.5 from September 4, so all of this is beta-channel work on both sides, and you will need VRChat on Steam switched over to the open beta branch before any of it appears in your editor.

Unified Expressions is the vocabulary

Unified Expressions is the naming standard that VRCFaceTracking, the community app that has carried face tracking in VRChat for years, uses to flatten wildly different hardware into one set of named keys. JawOpen means the same thing whether a Quest Pro or a webcam produced it. VRChat adopted that standard outright instead of writing a parallel one. The beta documentation calls it a superset of various face tracking standards, so most avatars implement only a subset of the keys. Tick Use All Tracking Keys and your avatar picks up a full-face-tracking marker on its details page.

Setting it up

What you need: the Open Beta client, Avatars SDK 3.10.6-beta.1 or later, and an avatar whose Skinned Mesh Renderers already carry facial blendshapes.

  1. Enable the section. Expand Face Tracking on the VRC Avatar Descriptor and click Enable.
  2. Pick your key set. Turn on Use All Tracking Keys for webcam or OSC tracking. Leave it off for an avatar that only needs advanced visemes or automatic eye movement.
  3. Add the meshes. Add Mesh takes up to 16 Skinned Mesh Renderers, and blendshapes are matched by exact name across every mesh in the list. Naming discipline matters more here than it used to.
  4. Route LipSync and Eye Look through Face Tracking. Set LipSync Mode to Viseme Blend Shape Face Tracking and Eye Gaze Mode to Face Tracking or Both, so their viseme and eye keys are in the table before Auto-Fill runs.
  5. Run Auto-Fill Blendshapes. Then walk the table and correct the blendshape and multiplier on each key by hand. Auto-Fill guesses from names, and names lie.
  6. Build and test. Build & Test, in the Builder tab of the VRChat SDK Control Panel, is the quickest way to find out whether a mapping reads as a face or as a grimace.

Blendshapes Sets sit underneath that. Each set maps tracking keys and visemes to blendshape names and loads at its own Default Weight, and you drive those weights from animator state behaviors or from the new Parameter Behaviors, which combine inputs with Max, Min, Add, Multiply or a custom expression. When two active sets touch the same blendshape, the higher value wins rather than the two summing, so 0.3 and 0.7 give you 0.7, not 1.0.

A crowd of VRChat avatars around a large orange tabletop RPG table covered in dice and miniatures, including a red skeleton, a white robot, a figure with glowing purple hair and a shirtless humanoid
Image: VRChat Inc. / Steam

The synced parameter budget stops being the ceiling

VRChat now sends the full Unified Expressions payload to remote viewers itself, and remote clients run your mappings locally. Synced face data therefore does not touch your custom synced parameter budget. That budget is the wall every face tracking avatar has been pressed against since OSC setups became normal, and taking it out of the equation is the most useful thing in this release. The sync can be lossy, with nearby avatars receiving higher fidelity, so when one specific value has to land exactly, you forward it to a parameter and mark it Synced, which does spend the old budget.

Advertisement

None of it is free. The Performance Rank counts Face Tracking Operations and Forwarded Parameters, and each blendshape mapping counts once per matching mesh, so a duplicate set at a default weight of zero still costs you. Custom expressions cap at 512 characters, 128 tokens and 64 instructions each, with 512 instructions across the avatar after simplification. Exceed the per-expression limit and that expression is ignored, and any custom behavior that would push the avatar past the shared budget is skipped at load time, which is the kind of failure you will want to rule out first when a face goes still.

Your headset probably still cannot feed it

VRChat avatars lined up on a red and blue stage under a lit Yami Funhouse sign, including a giant open-mouthed white head, a red sphere with two eyes, a blue robot and several anime characters
Image: VRChat Inc. / Steam

The hardware side is the bottleneck. Few headsets pair face tracking cameras with an API other apps can use, and UploadVR counts the Pico 4 Pro and Enterprise, the Meta Quest Pro and Samsung Galaxy XR as the most popular, with community-built trackers covering others such as the Quest 3 and 3S. VRCFaceTracking feeds the new system over OSC from its latest beta on Steam, which is how eye-tracking-only hardware such as the Bigscreen Beyond 2e gets a seat, and Selfie Expression will drive the same keys from a webcam on a desktop PC or the camera on an Android phone or tablet if you have no face tracking hardware at all. iPhone is not on the list yet. UploadVR, citing dataminer Nori, reports that Meta's upcoming VR Glasses have the cameras for face tracking but will not hand that data to third-party apps at launch. Developers get eye tracking and the audio-driven Audio to Expressions source instead, which rhymes with the request-only terms on Meta's Gaze SDK.

The interesting part is not the hardware. It is that the platform picked up a community standard, wired it into the avatar pipeline, and handed back the parameter budget it had been charging for. Walker Industries, which is crowdfunding the Vector Gear on Kickstarter, says its in-house Shinra Meisin tracker already feeds eye and mouth data over OSC to VRChat. Standards tend to work when the people who wrote them get adopted rather than routed around, and this one just did.

Share
Advertisement