Skip to content

About

AIO App for QPro mods. Based on n0tmast3r Qpro-Enhanced-FT

Resources

Contributing

Security policy

Stars

37 stars

Watchers

2 watching

Forks

 
 

Repository files navigation

Promo SillyFace Multimodal

QFT+

QFT+ adds tongue tracking, more face expressions, pupil size tracking and separate eye tracking to Quest Pro. It includes PC and headset apps, calibration and avatar testing.

Download QFT+ · Release candidate

Setup

PC mode needs Windows 10/11 x64, SteamVR and VRCFaceTracking (VRCFT). Use Virtual Desktop or Steam Link with a supported rooted Quest Pro.

  1. Install QFT+. Enable Developer Mode on the headset. Connect USB. Allow USB debugging. In Magisk → Superuser, allow Shell.
  2. Open Setup → Set up in QFT+.
  3. Enable eye and face tracking on the headset. For Virtual Desktop, enable Forward face/eye tracking to PC. QFT+ sets up Steam Link sharing.
  4. Connect through Virtual Desktop or Steam Link. Select Start.
  5. Open Calibration. Use the Steam overlay to see the app in VR. Install or update QFT+ Headset for the avatar guide.

Removing QFT+ Headset through Windows backs up settings and calibration to %LOCALAPPDATA%\QFTPlus\headset-backups. Reinstalling through the same PC restores them for that headset.

  • After each headset restart, connect USB once to restore Wi-Fi access.
  • Use a trusted network. Wi-Fi setup allows ADB access to the headset.
  • Use QFT+'s VRCFT module. Disable the standalone SteamLink module to avoid a port 9015 conflict.
  • Hybrid hand/controller tracking needs Virtual Desktop. It is experimental.
  • Separate eye tracking was tested on firmware 51483620027600340.
  • For controller battery levels in SteamVR, install the QFT+ driver under Settings → Controllers and start tracking. Readings refresh every five seconds; no additional Magisk module is needed.

Help: If setup stops responding, cancel it. Start setup again. If VRCFT stops loading, restart it.

Standalone VRCFaceTracking module

Download the VRCFT module ZIP and Headset APK from Releases. Import the ZIP into a .NET 10-based VRCFT build and follow its INSTALL.txt for pairing. Headset processing works without the Windows hub, including on Linux; PC processing requires Windows.

Translations

Help translate the Windows and Quest apps on Crowdin. Approved translations sync hourly to a public pull request and ship after review, merge, and release.

The Windows app follows Windows' display language; the Quest app follows the headset language. Missing translations use English. Translation guide.

Privacy

Camera processing and calibration run on your PC or headset. Recordings and models can contain face data. Tracking output goes to your selected apps or OSC address.

Sources

These credits cover shipped features. Each row links a source to its use in QFT+.

Source Use in QFT+
Qpro Enhanced FT, n0tmast3r Base for tracking, headset code and the bridge.
Singularity, Lumince; Magisk, topjohnwu Root tools used by setup, ADB and tracking. Singularity credits fuguquest, Henry1887.
Frida injection example, Ole André Vadla Ravnås Reference for injection and camera/stream code. Frida also runs the hybrid hooks.
scrcpy, Genymobile Design reference for cleanup after disconnect.
VirtualDesktop.VRCFaceTracking, Guy Godin Adapted face mapping and bridge code.
VRCFaceTracking, benaclejames and contributors Adapted Java formulas, OSC encoding and parameters. Its module installer defines the standalone ZIP format.
VRCFT-SteamLink, danwillm; LinkFT, ykeara References for Steam Link support and setup.
OpenCV Adapted pupil outline detection.
OpenVR, Valve Driver header and API. Input profiles adapt Valve's SteamVR Touch files.
Quest Pro Touch Plus, Lateir; qptp-module Reference for reading controller battery levels with Meta’s trackinginterface_cli ls in the headset reader, forwarded through the SteamVR driver.
Meta Avatars SDK Adapted shader and SDK mapping. The headset app includes the runtime and presets; Windows receives rendered frames.
1€ filter, Casiez, Roussel and Vogel Method for Python and Java eye smoothing.
Ava-256, Meta Training data for the mouth-camera encoder.
GNM, Google Used to create the synthetic training dataset.
Universal Facial Encoding, Bai et al. Design reference for calibration with saved expressions.
Material Symbols, Google Icons in Studio and the headset app.
Quest Pro model, TurboSquid Purchased model used for headset images. Original mesh and textures are excluded.

Sources for the Java code: expression formulas, expression parameters and binary encoding.

The headset app uses installed Meta UI, setup scenes, tracking and controller services. The hybrid hooks use your installed Virtual Desktop software.

License

QFT+ uses MIT. Other code and assets keep their own licenses. See third-party notices. The face models use CC BY-NC 4.0, for non-commercial use.

The eye patcher reads the stock model from your headset. QFT+ does not include Meta firmware or stock tracking models.

Build

Install the .NET SDK listed in global.json. Build the Windows app:

dotnet build src/app/QFTPlus.csproj -c Release

This does not build a full release. Build.ps1 needs tools outside the public repository. Use the downloads to install QFT+.

A personal note

I build QFT+ for my own use, with help from LLMs. It has bugs and experimental features. Use it with care and at your own risk. I provide no warranty and accept no responsibility for damage.

QFT+ is not affiliated with Meta, Virtual Desktop, VRCFaceTracking or VRChat Inc. VRChat is a trademark of VRChat Inc.

About

AIO App for QPro mods. Based on n0tmast3r Qpro-Enhanced-FT

Resources

Contributing

Security policy

Stars

37 stars

Watchers

2 watching

Forks

Releases

Packages

Contributors

Languages