Skip to main content
Version: Current (v5.0)

Vive Focus Vision / Focus 3 / XR Elite

The Vive Focus Vision, Focus 3 and XR Elite are standalone VR headsets powered by the Qualcomm XR2, similar to the Quest 2 and Quest Pro headsets from Meta. The Focus Vision is a slightly upgraded Focus 3 with built-in eye tracking (of the same form as the Focus 3 eye tracker) and newer software. The Focus 3 has 2 add-on modules that can be installed to add eye and face tracking capabilities, and the XRE has a single combo module that can be installed to add both eye and face tracking capabilities. While these headsets can send a (extremely) limited set of face tracking parameters (a total of 5 parmeters, and a max of 3 which can work simultaneously) to the Vive standalone version of VRChat, this function is unrelated to VRCFaceTracking and questions/issues regarding this headset feature should be directed to Vive Support. The follow instructions are specifically for PCVR and VRCFT.

Since September 2023, the Vive PCVR VR streamer programs (Vive Business Streaming and Vive Streamer Hub) have had the ability to control VRCFT avatars in VRChat on their own (by copying the VRCFT program's functions). While users can choose to forgo using VRCFT, we would recommend using VRCFT over the Vive Streamer's built-in OSC function (Vive themselves now also recommend using VRCFT over their native output). Even now, Vive's implementation of VRCFT's functionality is buggy, slow, and handles some parameters (notably MouthClosed) completely incorrectly.

The VRCFT server will be unable to provide support to users who experience issues with the VRCFT clone in Vive's streamer software.

Setup

There are two PCVR Streaming methods that supports the eye and face tracking features:

  1. Vive Streamer
  2. ALXR

The Vive Streamer will be more straightforward to set up and use and is recommended for most users. ALXR on Vive standalone headsets will require some user tweaking and the ALXR remote module doesn't handle eye-openness and gaze correctly yet (August 2024).

Preliminary Setup

  1. Install the eye and/or face tracking modules to the headset. Both modules should come with their own hardware quick-start guides in the box and should generally simply involve connecting the module to a single USB-C port on the headset.
Digital Quick Start Guides For Focus 3 Modules
Video Quick Start Guide for the XR Elite Full Facial Tracker
  1. Make sure that you agree to the privacy notices for eye and face tracking after installation, follow the instructions for eye tracking calibration, and have the eye and face tracking options enabled in the headset Input settings.
    • If you do not see eye/face tracking Input options in your headset settings, try re-seating the connector(s).

Vive Streamer Setup

Vive Streamer Setup
  1. Install VIVE Business Streaming or VIVE (Streaming) Hub onto your computer. They are functionally identical, but the typical cases are VBS for the Focus 3 and Vive Hub for the XR Elite / Focus Vision. You can use them interchangably.

  2. Update the streaming app to the latest version on the Focus Vision, Focus 3, or XR Elite by plugging the headset into the computer then clicking the Update button in the VIVE Streaming application for "Headset software version" (Settings ➜ About ➜ Vive Streaming).

    • Focus Vision: use the USB-C port on the side of the headset
    • Focus 3: you will need to unplug the eye tracking module to use the USB-C port on the side of the headset
    • XR Elite: you can use the USB-C port on the top of the battery cradle or the dangling USB-C port if using the XRE without the battery
    Headset software version Update button
  1. Make sure that the "Eye and facial tracking data" toggle under "Stream avatar data to VRChat via OSC" is enabled in the Vive Hub or VBS application (Settings ➜ Vive Streaming ➜ Input).
Vive Streaming Eye and Face tracking toggle
  1. Install the ViveStreamingFaceTrackingModule from the VRCFaceTracking module registry.
Vive Streamer with SRanipal Module Setup

SRanipal was the original ET/FT method that was available for the Focus 3 headset, and still works for any of their current standalone headsets. It offers no obvious improvement over the Vive Streaming Face Tracking module, involves more setup and software, and like all Vive implementations, has its own quirks.

  1. Follow the "Vive Streamer Setup" instructions up until installing the Vive Streaming Face Tracking Module.
  2. Install VIVE Console onto your computer. We need this for the latest version (1.3.6.8+) of SRanipal.
    • The easiest way is to search for "VIVE Console" in Steam store, and install it through Steam.
    • Run Vive Console once to let it complete whatever it needs to install
    • You can completely ignore Vive Console afterwards, you only need the install for SRanipal, not Vive Console itself
  3. Disable the OSC output from the Vive Streamer by unchecking "Eye and facial tracking data" under "Stream avatar data to VRChat via OSC" in the Input tab of the VIVE Streaming Settings of the Vive Hub application.
    • Alternatively, you can do this manually by opening C:\ProgramData\HTC\ViveSoftware\ViveRR\RRServer\serverSetting.setting and setting the VOF key to "false".
Vive Streaming Eye and Face tracking toggle
  1. Install the SRanipalTrackingModule module from the VRCFaceTracking module repository. This should open a UAC prompt asking for permission to start the SRanipal runtime (sr_runtime). Make sure to allow it to run.

    danger

    If you do not disable the Streamer's output, it can double-send messages to VRC in tandemn with VRCFT, causing a "stuttering" effect.

ALXR Setup

danger

The ALXR remote module currently doesn't handle eye-openness and gaze correctly for any of Vive's standalone headsets.

ALXR Setup
  1. Download and install the latest ALXR client and server from the ALXR-nightly repository. If this is your first time using ALXR, follow the Usage guide and Android-specific client install instructions
  2. Install the ALXR Remote module from the VRCFaceTracking module repository.
  3. Open the ALXRModuleConfig.json found in the installed module directory.
    • This will either be at C:\Users\[username]\AppData\Roaming\VRCFaceTracking\CustomLibs or C:\Users\[username]\AppData\Local\Packages\96ba052f-0948-44d8-86c4-a0212e4ae047_d7rcq4vxghz0r\LocalCache\Roaming\VRCFaceTracking\
    • Learn more about the ALXR module configuration options
  4. In ALXRModuleConfig.json, in the "RemoteConfig" section set "ClientIpAddress" to the headset IP. This can be found in the ALVR server dashboard.
    • You will need to restart VRCFT to reinitialize the ALXR Remote Module with the updated configuration.

Troubleshooting

My avatar's lower lip is up too high/clipping even when I have a neutral facial expression IRL
CauseYou're using the Vive Streamer's built in output
Solution

Follow the instructions on this page to use VRCFT instead. The mouth clipping issue is only caused by the Vive Streamer Hub's direct output to VRChat, so if you see it, either you did not setup VRCFT and your chosen module correctly, or you did not set up VRCFT at all.