VRCFaceTracking Integration
Use your VRChat face tracking setup as-is in the Viewer app
VRCFaceTracking is a Windows app that enables face tracking in VRChat. It supports a wide range of face tracking hardware.

VRC Avatar Viewer has a VRChat-compatible OSC receiver, so you can connect VRCFaceTracking to the viewer app and have your facial expressions reproduced on the avatar.
VRChat OSC / UDP→ [VRC Avatar Viewer]
- The capture app is a tool made specifically for the viewer app. It captures facial expressions using a webcam + iFacialMocap, and can capture body and arm movements at the same time
- The VRCFaceTracking method on this page reuses VRChat's face tracking ecosystem with the viewer app, and handles facial expressions only
- By combining the two, you can set things up so that the capture app handles body movement while VRCFaceTracking handles facial expressions
What You Need
- VRC Avatar Viewer (the main app)
- VRCFaceTracking 5.x (Windows, free)
- A VRCFaceTracking-compatible avatar — the avatar's FX layer must include VRCFT parameters
- Face tracking hardware (whatever you have)
- For details on installing VRCFaceTracking itself and choosing modules, see the official VRCFaceTracking documentation. This page only covers connecting it to the viewer app
- For VRCFaceTracking-compatible avatars, many add-ons are available on the BOOTH face tracking page
Setting Up VRCFaceTracking
First, get VRCFaceTracking working with VRChat.
2-1. Installing VRCFaceTracking and Modules
- Install VRCFaceTracking by following the setup instructions in the official documentation
- Install the module for your face tracking hardware (e.g., the ALXR module for Quest Pro, the SRanipal module for the Vive Facial Tracker)
- Launch VRCFaceTracking and make sure it is receiving facial expression data from your face tracker (the parameters on screen should move)
- This page does not cover VRCFaceTracking setup in detail. If you run into trouble with installation or choosing a module, check the official documentation or the Discord community
Viewer App Settings
Configure the viewer app as follows.
- Display an avatar (.avab or .vrm) in the viewer app
- Press the Streaming button in the toolbar to open the Streaming Mode panel
- In the "Motion Receiver" section, set "Face Tracking" to "VRCFT"
- Press the "Receive" button to turn it ON
The viewer app now opens a VRChat-compatible OSC listener. VRCFaceTracking will see the viewer app as VRChat-Client-VRCAvatarViewer-XXXX and connect to it automatically.
- Because it uses the same port as VRChat itself (
9000), the viewer app cannot receive data while VRChat is running (whichever app opens the port first takes it). To use both at the same time, change the "VRChat OSC Receive Port" in the viewer app to a different value - If "Face Tracking" is left at VRM/VRChat-Default or Perfect Sync, the VRChat OSC listener will not open. Be sure to switch it to VRCFT
Checking That It Works
In VRCFaceTracking, check that the viewer app has been recognized as a connection target. If [avatar name] - VRC Avatar Viewer appears under Avatar Status, the connection was successful.

- Try blinking, opening and closing your mouth, and moving your eyes
- If the avatar's expressions in the viewer app follow along, everything is working
If It Doesn't Work
- VRCFaceTracking doesn't find the viewer app Check that the viewer app is set to "Face Tracking = VRCFT" and "Receive = ON".
-
A dialog says the port could not be opened
Another app (including VRChat itself) may be using VRChat OSC port
9000. Change the "VRChat OSC Receive Port" to a different value, then turn "Receive" ON again