Skip to content

Releases: RealWhyKnot/VRCFaceTracking

v2026.10.13.0-beta

v2026.10.13.0-beta Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 13 Oct 12:59
7b906e6

VRCFaceTracking v2026.10.13.0-beta

What's Changed

Bug Fixes

  • fix(mutation): move Eyelid Blend from Unified Correctors to Eye Assists by RealWhyKnot in 7b906e6

Full Changelog: v2026.10.12.0-beta...v2026.10.13.0-beta

File integrity

Asset Size (MiB) SHA-256
VRCFaceTracking-2026.10.13.0-beta-linux-arm64.tar.gz 65.73 1eab37696aca8147e662f5cb4d7fa498c93f155fdf4f15a413ffcb4fc1628f1e
VRCFaceTracking-2026.10.13.0-beta-linux-x64.tar.gz 69.55 30bf10c8eb83b657a520290f45a6d53fcb6340a9ceccfa68a8fc52df1a16a467
VRCFaceTracking-2026.10.13.0-beta-osx-arm64.tar.gz 54.80 9157303be7e21f123254a505a66ddb0179cdaacacf2e4b732a603d94cb1fcb67
VRCFaceTracking-2026.10.13.0-beta-osx-x64.tar.gz 58.05 67436b949e04c0df0023f8bac2c3ca04b0202160ab27f8cfcae38a7380687910
VRCFaceTracking-2026.10.13.0-beta-win-arm64.zip 56.81 e522159bc27534ae7a5ec923df3d77a3af611938734fe88d9dd08461d2bcaefc
VRCFaceTracking-2026.10.13.0-beta-win-x64.zip 60.00 dde97b94c3f905e3f568e1c6611d3718595e3bc26071a0b2213e0f5280864586
VRCFaceTracking-Setup-2026.10.13.0-beta.exe 42.75 3f6e82e09b024ea7e9ebd64c8bbdd5a2dff354cd137503510f02c0f4cc703707

Per-file hashes ship beside each archive as a matching .integrity.tsv asset.

More

This release is commit 7b906e638537 on main, licensed Apache-2.0. See the README for install notes. Upstream is benaclejames/VRCFaceTracking, and its avatar setup and module docs are at https://docs.vrcft.io.

Install on Windows

  1. Download VRCFaceTracking-Setup-2026.10.13.0-beta.exe from this release and run it. It installs for your Windows account only, without an admin prompt, and adds VRCFaceTracking to the Start menu.
  2. Start VRCFaceTracking. If you haven't installed your tracking module before, get it from the Module Registry tab.
  3. Launch VRChat with OSC enabled. Once the module is receiving data, the Home tab shows it as active.

Setup also registers this copy with SteamVR. If an older copy you extracted by hand had "Start with SteamVR" turned on, SteamVR starts the installed copy from now on.

To run it without installing, extract VRCFaceTracking-2026.10.13.0-beta-win-arm64.zip or VRCFaceTracking-2026.10.13.0-beta-win-x64.zip anywhere except Program Files and run VRCFaceTracking.exe.

Settings and installed modules are kept in %AppData%\VRCFaceTracking, the same folder the Steam build uses. An existing setup carries over.

Install on Linux

  1. Download VRCFaceTracking-2026.10.13.0-beta-linux-arm64.tar.gz or VRCFaceTracking-2026.10.13.0-beta-linux-x64.tar.gz from this release. Pick the file that matches your CPU.
  2. Extract it into its own folder: mkdir vrcft && tar -xzf <archive> -C vrcft.
  3. If the app isn't executable after extracting, run chmod +x VRCFaceTracking in that folder.
  4. Run ./VRCFaceTracking.

Minimal distros also need libice6 and libsm6.

Install on macOS

  1. Download VRCFaceTracking-2026.10.13.0-beta-osx-arm64.tar.gz or VRCFaceTracking-2026.10.13.0-beta-osx-x64.tar.gz from this release. Pick the file for your CPU (Apple Silicon is osx-arm64).
  2. Extract it into its own folder and run ./VRCFaceTracking from there.

If Gatekeeper blocks the app, run xattr -dr com.apple.quarantine on the extracted folder and start it again. SteamVR features don't work on macOS.

Uninstall

If you used the setup, uninstall VRCFaceTracking from Settings, Apps, Installed apps. The app, its Start menu entry and its SteamVR registration are removed, and then the uninstaller offers to delete your settings, installed modules and logs as well. Say No if you also use the Steam version. It reads the same settings and modules.

If you extracted it by hand, close VRCFaceTracking and delete the folder. Settings and modules are in %AppData%\VRCFaceTracking and logs in %LocalAppData%\VRCFaceTracking\logs. Delete those two folders too to remove everything.

What you need to do

New installs: follow the install steps above. Existing installs get offered this update when the app starts. Accept it and the app downloads, verifies and applies the update, then restarts. Installed copies update by running the new setup silently. Extracted copies get the new archive copied over their folder, or you can close the app and extract it over the old folder yourself.

To switch from an extracted copy to the setup, run the setup and start VRCFaceTracking from the Start menu. Settings and modules carry over. Delete the old folder once the installed copy works.

Beta releases log verbosely by default and stable releases log only warnings and errors. Before reproducing a problem on a stable release, turn on verbose logging under Settings, Diagnostics. Bug reports need the newest vrcft_*.log and vrcft_module_*.log from the log folder (Settings, Diagnostics, Open folder).

v2026.10.9.0-beta

v2026.10.9.0-beta Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 09 Oct 12:09
071335d

VRCFaceTracking v2026.10.9.0-beta

What's Changed

Bug Fixes

  • fix(build): build the module process as Any CPU in Any CPU solution builds by RealWhyKnot in 4288eab

Performance

  • perf(osc): wake the sender only for new data or a due refresh by RealWhyKnot in 9fc18cc
  • perf(module): wait for queued packets instead of polling every 20 ms by RealWhyKnot in f6a942a
  • perf(ipc): read update packets in place instead of marshalling them by RealWhyKnot in 452837d
  • perf(osc): stop boxing the Vector4 eye parameter on every tick by RealWhyKnot in f60e34b

Documentation

Tests

  • test(perf): log module start failures and widen module CPU budgets by RealWhyKnot in 071335d
  • test(perf): add CPU, wake, allocation and memory budget tests by RealWhyKnot in 7a455f5

Full Changelog: v2026.10.7.0-beta...v2026.10.9.0-beta

File integrity

Asset Size (MiB) SHA-256
VRCFaceTracking-2026.10.9.0-beta-linux-arm64.tar.gz 65.73 ca82b95667589521cf89ef9a38bda098f815f9f87a23969445102b2ffc7efd99
VRCFaceTracking-2026.10.9.0-beta-linux-x64.tar.gz 69.54 6788af1a27d81c94e5e21a76b72c98a2a7586fbeb04359974bfd4febc24ecd6c
VRCFaceTracking-2026.10.9.0-beta-osx-arm64.tar.gz 54.80 f6e51d012c71c9754408758a399646a90db0818ad193ac821ce6efdad38cb380
VRCFaceTracking-2026.10.9.0-beta-osx-x64.tar.gz 58.05 fcc3674b23ba292d0d377206c242ae1934efcc0753a146314a6d49167e192c02
VRCFaceTracking-2026.10.9.0-beta-win-arm64.zip 56.80 36bdd4dec0575c7041bb00783412a38c5d4a30c5dd53384a3e61cc3eed1bf7ed
VRCFaceTracking-2026.10.9.0-beta-win-x64.zip 60.00 b3d86b7efa891bd7053f1e1abfe5c4cd13070db69bfa588ca5c70b225ffdf456
VRCFaceTracking-Setup-2026.10.9.0-beta.exe 42.76 bfb3f23eda4cfa432f473f123e279a53ce1efe0f5742f8ae34c1011cd08fcf55

Per-file hashes ship beside each archive as a matching .integrity.tsv asset.

More

This release is commit 071335d4776c on main, licensed Apache-2.0. See the README for install notes. Upstream is benaclejames/VRCFaceTracking, and its avatar setup and module docs are at https://docs.vrcft.io.

Install on Windows

  1. Download VRCFaceTracking-Setup-2026.10.9.0-beta.exe from this release and run it. It installs for your Windows account only, without an admin prompt, and adds VRCFaceTracking to the Start menu.
  2. Start VRCFaceTracking. If you haven't installed your tracking module before, get it from the Module Registry tab.
  3. Launch VRChat with OSC enabled. Once the module is receiving data, the Home tab shows it as active.

Setup also registers this copy with SteamVR. If an older copy you extracted by hand had "Start with SteamVR" turned on, SteamVR starts the installed copy from now on.

To run it without installing, extract VRCFaceTracking-2026.10.9.0-beta-win-arm64.zip or VRCFaceTracking-2026.10.9.0-beta-win-x64.zip anywhere except Program Files and run VRCFaceTracking.exe.

Settings and installed modules are kept in %AppData%\VRCFaceTracking, the same folder the Steam build uses. An existing setup carries over.

Install on Linux

  1. Download VRCFaceTracking-2026.10.9.0-beta-linux-arm64.tar.gz or VRCFaceTracking-2026.10.9.0-beta-linux-x64.tar.gz from this release. Pick the file that matches your CPU.
  2. Extract it into its own folder: mkdir vrcft && tar -xzf <archive> -C vrcft.
  3. If the app isn't executable after extracting, run chmod +x VRCFaceTracking in that folder.
  4. Run ./VRCFaceTracking.

Minimal distros also need libice6 and libsm6.

Install on macOS

  1. Download VRCFaceTracking-2026.10.9.0-beta-osx-arm64.tar.gz or VRCFaceTracking-2026.10.9.0-beta-osx-x64.tar.gz from this release. Pick the file for your CPU (Apple Silicon is osx-arm64).
  2. Extract it into its own folder and run ./VRCFaceTracking from there.

If Gatekeeper blocks the app, run xattr -dr com.apple.quarantine on the extracted folder and start it again. SteamVR features don't work on macOS.

Uninstall

If you used the setup, uninstall VRCFaceTracking from Settings, Apps, Installed apps. The app, its Start menu entry and its SteamVR registration are removed, and then the uninstaller offers to delete your settings, installed modules and logs as well. Say No if you also use the Steam version. It reads the same settings and modules.

If you extracted it by hand, close VRCFaceTracking and delete the folder. Settings and modules are in %AppData%\VRCFaceTracking and logs in %LocalAppData%\VRCFaceTracking\logs. Delete those two folders too to remove everything.

What you need to do

New installs: follow the install steps above. Existing installs get offered this update when the app starts. Accept it and the app downloads, verifies and applies the update, then restarts. Installed copies update by running the new setup silently. Extracted copies get the new archive copied over their folder, or you can close the app and extract it over the old folder yourself.

To switch from an extracted copy to the setup, run the setup and start VRCFaceTracking from the Start menu. Settings and modules carry over. Delete the old folder once the installed copy works.

Beta releases log verbosely by default and stable releases log only warnings and errors. Before reproducing a problem on a stable release, turn on verbose logging under Settings, Diagnostics. Bug reports need the newest vrcft_*.log and vrcft_module_*.log from the log folder (Settings, Diagnostics, Open folder).

v2026.10.7.0-beta

v2026.10.7.0-beta Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 07 Oct 07:30
2d64afe

VRCFaceTracking v2026.10.7.0-beta

What's Changed

Features

Bug Fixes

  • fix(steamvr): match registered manifests by their long path by RealWhyKnot in beba2e3
  • fix(mutations): save on/off switches and adjustment ranges when changed by RealWhyKnot in 7ce0777
  • fix(settings): apply the OSC address when the field loses focus by RealWhyKnot in 0daa8c5
  • fix(osc): receive on a non-loopback address instead of refusing it by RealWhyKnot in cb546c0
  • fix(osc): send to the configured address after it loads or changes by RealWhyKnot in cca0973

Documentation

CI

  • ci(release): build, test and publish the Windows setup with each release by RealWhyKnot in aea3450

Tests

  • test(osc): wait for four idle refreshes instead of counting a fixed 250 ms window by RealWhyKnot in 2d64afe
  • test(settings): give the OSC target valid ports before checking the address commit by RealWhyKnot in ef9d54a
  • test(installer): compare install paths in long form by RealWhyKnot in eac100b

Other

Full Changelog: v2026.9.28.0-beta...v2026.10.7.0-beta

File integrity

Asset Size (MiB) SHA-256
VRCFaceTracking-2026.10.7.0-beta-linux-arm64.tar.gz 65.73 f25a82d021a7c61df04e7e564a7dcd1f5efc08371a044679fab9a4e9554dee78
VRCFaceTracking-2026.10.7.0-beta-linux-x64.tar.gz 69.53 4d66caca0f86b43b7941c822689b4b631fa3ece72b9eaa853883191f9040b378
VRCFaceTracking-2026.10.7.0-beta-osx-arm64.tar.gz 54.80 020173864ef8c83a33bbc228a29abef395e13e295c4bb1d43c0bd3edcd9a3e18
VRCFaceTracking-2026.10.7.0-beta-osx-x64.tar.gz 58.05 46002617562bfeeaaed099a801e3a9a1df233491ab6ca8699d05dd9820f07c9a
VRCFaceTracking-2026.10.7.0-beta-win-arm64.zip 56.80 76141c43a1838aee8d6baccce67925faeefb4e83e5dad62c2942864facb5ea4d
VRCFaceTracking-2026.10.7.0-beta-win-x64.zip 59.99 4b9c07adaf2c2233184bff6fdc41eecd059cd331b223bcc96ab0b637880c6ea1
VRCFaceTracking-Setup-2026.10.7.0-beta.exe 42.75 0405a6fcbeef65d86d151f3a16dd1e3050b3d5fe9b0430288f5bc946ddb912d1

Per-file hashes ship beside each archive as a matching .integrity.tsv asset.

More

Install on Windows

  1. Download VRCFaceTracking-Setup-2026.10.7.0-beta.exe from this release and run it. It installs for your Windows account only, with no admin prompt, and adds VRCFaceTracking to the Start menu.
  2. Start VRCFaceTracking. Install your tracking module from the Module Registry tab if you haven't before.
  3. Launch VRChat with OSC enabled. The Home tab shows the module as active once it's receiving data.

The setup also registers this copy with SteamVR. If you turned on "Start with SteamVR" for an older copy you extracted by hand, SteamVR starts the installed copy from now on.

To run it without installing, extract VRCFaceTracking-2026.10.7.0-beta-win-arm64.zip or VRCFaceTracking-2026.10.7.0-beta-win-x64.zip anywhere except Program Files and run VRCFaceTracking.exe.

Settings and installed modules live in %AppData%\VRCFaceTracking and are shared with the Steam build, so an existing setup carries over.

Install on Linux

  1. Download VRCFaceTracking-2026.10.7.0-beta-linux-arm64.tar.gz or VRCFaceTracking-2026.10.7.0-beta-linux-x64.tar.gz from this release, picking the file that matches your CPU.
  2. Extract it into its own folder: mkdir vrcft && tar -xzf <archive> -C vrcft.
  3. If the app is not executable after extraction, run chmod +x VRCFaceTracking in that folder.
  4. Run ./VRCFaceTracking.

Minimal distros also need libice6 and libsm6 installed.

Install on macOS

  1. Download VRCFaceTracking-2026.10.7.0-beta-osx-arm64.tar.gz or VRCFaceTracking-2026.10.7.0-beta-osx-x64.tar.gz from this release, picking the file that matches your CPU (Apple Silicon is osx-arm64).
  2. Extract it into its own folder and run ./VRCFaceTracking from there.

If Gatekeeper blocks the app, run xattr -dr com.apple.quarantine on the extracted folder and start it again. SteamVR features are unavailable on macOS.

Uninstall

Installed with the setup: open Settings, Apps, Installed apps, and uninstall VRCFaceTracking. That removes the app, its Start menu entry and its SteamVR registration. It then asks whether to delete your settings, installed modules and logs too. Answer No if you also use the Steam version, because it reads the same settings and modules.

Extracted by hand: close VRCFaceTracking and delete the folder. Settings and modules stay in %AppData%\VRCFaceTracking and logs in %LocalAppData%\VRCFaceTracking\logs. Delete those two folders too for a clean removal.

What you need to do

Fresh install: follow the install steps above. Existing installs are offered this update when the app starts; accept it and the app downloads, verifies and applies the update, then restarts. Installed copies update by running the new setup silently. Extracted copies get the new archive copied over their folder, or you can close the app and extract it over the old folder by hand.

Switching from an extracted copy to the setup: run the setup, then start VRCFaceTracking from the Start menu. Settings and modules carry over. Delete the old folder once the installed copy works.

Beta releases log verbosely by default. Stable releases log warnings and errors only; turn on verbose logging under Settings, Diagnostics before reproducing a problem. When reporting a bug, attach the newest vrcft_*.log and vrcft_module_*.log from the log folder (Settings, Diagnostics, Open folder).

v2026.9.28.0-beta

v2026.9.28.0-beta Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 28 Sep 11:57
7f97af5

VRCFaceTracking v2026.9.28.0-beta

What's Changed

Bug Fixes

Tests

  • test(data): keep UI tests out of the user's data folder (2026.9.27.0-9FC29) by RealWhyKnot in 0db405f

Full Changelog: v2026.9.27.0-beta...v2026.9.28.0-beta

File integrity

Asset Size (MiB) SHA-256
VRCFaceTracking-2026.9.28.0-beta-linux-arm64.tar.gz 65.71 de04378c8b4bdc2ee3dc72732a35a9ee17b6fde06fe450d5ec3538b51b8dffe6
VRCFaceTracking-2026.9.28.0-beta-linux-x64.tar.gz 69.52 6bca73752530cb0e12b1518df01b5647d16d52402708996c5a7c8f4870c4814f
VRCFaceTracking-2026.9.28.0-beta-osx-arm64.tar.gz 54.78 e2033c2d72c19a45447c4e40d1803ef724f9cd265a78a786f680f2312d8678df
VRCFaceTracking-2026.9.28.0-beta-osx-x64.tar.gz 58.04 5d921b54c0729778407c5d827f4d40003b68726ee21c750a9b40d5d9484200e9
VRCFaceTracking-2026.9.28.0-beta-win-arm64.zip 56.79 d2b6b169ac90bb5c04745fa9e4fb9c8b563de5974a5b6028be3c87f4a889b820
VRCFaceTracking-2026.9.28.0-beta-win-x64.zip 59.98 0711d66b1de1fdc571b6e67623239cc64165618206d7fe9e36ca853cc2f7d6df

Per-file hashes ship beside each archive as a matching .integrity.tsv asset.

More

Install on Windows

  1. Download VRCFaceTracking-2026.9.28.0-beta-win-arm64.zip or VRCFaceTracking-2026.9.28.0-beta-win-x64.zip from this release.
  2. Extract it anywhere except Program Files.
  3. Run VRCFaceTracking.exe. Install your tracking module from the Module Registry tab if you have not before.
  4. Launch VRChat with OSC enabled. The Home tab shows the module as active once it is receiving data.

Settings and installed modules live in %AppData%\VRCFaceTracking and are shared with the Steam build, so an existing setup carries over.

Install on Linux

  1. Download VRCFaceTracking-2026.9.28.0-beta-linux-arm64.tar.gz or VRCFaceTracking-2026.9.28.0-beta-linux-x64.tar.gz from this release, picking the file that matches your CPU.
  2. Extract it into its own folder: mkdir vrcft && tar -xzf <archive> -C vrcft.
  3. If the app is not executable after extraction, run chmod +x VRCFaceTracking in that folder.
  4. Run ./VRCFaceTracking.

Minimal distros also need libice6 and libsm6 installed.

Install on macOS

  1. Download VRCFaceTracking-2026.9.28.0-beta-osx-arm64.tar.gz or VRCFaceTracking-2026.9.28.0-beta-osx-x64.tar.gz from this release, picking the file that matches your CPU (Apple Silicon is osx-arm64).
  2. Extract it into its own folder and run ./VRCFaceTracking from there.

If Gatekeeper blocks the app, run xattr -dr com.apple.quarantine on the extracted folder and start it again. SteamVR features are unavailable on macOS.

Uninstall

Close VRCFaceTracking and delete the extracted folder. Settings and modules stay in %AppData%\VRCFaceTracking and logs in %LocalAppData%\VRCFaceTracking\logs; delete those two folders too for a clean removal.

What you need to do

Fresh install: follow the install steps above. Existing installs are offered this update when the app starts; accept it and the app downloads, verifies and applies the archive for your platform, then restarts. You can also close the app and extract the archive over the old folder by hand.

Beta releases log verbosely by default. Stable releases log warnings and errors only; turn on verbose logging under Settings, Diagnostics before reproducing a problem. When reporting a bug, attach the newest vrcft_*.log and vrcft_module_*.log from the log folder (Settings, Diagnostics, Open folder).

v2026.9.27.0-beta

v2026.9.27.0-beta Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 27 Sep 10:44
9fc295d

VRCFaceTracking v2026.9.27.0-beta

What's Changed

Bug Fixes

  • fix(mutations): blend each eyelid against the other eye's original value by RealWhyKnot in 2a5847c
  • fix(logging): make console and debug output follow the verbose setting by RealWhyKnot in 49b90b3
  • fix(logging): keep debug lines off the Output page unless verbose is on by RealWhyKnot in e631aea
  • fix(modules): leave head data unset until a module writes it by RealWhyKnot in 1fdaaae
  • fix: opt both processes out of Windows power throttling by RealWhyKnot in cf76ed4

Performance

Tests

Other

Full Changelog: v2026.9.21.0-beta...v2026.9.27.0-beta

File integrity

Asset Size (MiB) SHA-256
VRCFaceTracking-2026.9.27.0-beta-linux-arm64.tar.gz 65.71 6c8810d824325a3080ecdacf716f52691521e4ea9dda1cbc11426381ea531e09
VRCFaceTracking-2026.9.27.0-beta-linux-x64.tar.gz 69.52 7a86f90d2c390b7722bf276ee5fb2b0dea685f3b77d623944f0451fabeff3359
VRCFaceTracking-2026.9.27.0-beta-osx-arm64.tar.gz 54.78 7c043df4e25aaad58c302fb69ad6e46be6e33b2eb661792da63806d147999ba6
VRCFaceTracking-2026.9.27.0-beta-osx-x64.tar.gz 58.04 10c84d21cc4779123ec83e4a5a9bdf7f45a562200b73b74d6246906bb05417f1
VRCFaceTracking-2026.9.27.0-beta-win-arm64.zip 56.79 dc57354cf73abc78c55b37eaf0ef52260aa9f96dcae1727e7eacc0903d3d6ea4
VRCFaceTracking-2026.9.27.0-beta-win-x64.zip 59.98 24290e9aaee705c3251a975369c36fdb13bf1c922359ada508bd1449abc150a0

Per-file hashes ship beside each archive as a matching .integrity.tsv asset.

More

Install on Windows

  1. Download VRCFaceTracking-2026.9.27.0-beta-win-arm64.zip or VRCFaceTracking-2026.9.27.0-beta-win-x64.zip from this release.
  2. Extract it anywhere except Program Files.
  3. Run VRCFaceTracking.exe. Install your tracking module from the Module Registry tab if you have not before.
  4. Launch VRChat with OSC enabled. The Home tab shows the module as active once it is receiving data.

Settings and installed modules live in %AppData%\VRCFaceTracking and are shared with the Steam build, so an existing setup carries over.

Install on Linux

  1. Download VRCFaceTracking-2026.9.27.0-beta-linux-arm64.tar.gz or VRCFaceTracking-2026.9.27.0-beta-linux-x64.tar.gz from this release, picking the file that matches your CPU.
  2. Extract it into its own folder: mkdir vrcft && tar -xzf <archive> -C vrcft.
  3. If the app is not executable after extraction, run chmod +x VRCFaceTracking in that folder.
  4. Run ./VRCFaceTracking.

Minimal distros also need libice6 and libsm6 installed.

Install on macOS

  1. Download VRCFaceTracking-2026.9.27.0-beta-osx-arm64.tar.gz or VRCFaceTracking-2026.9.27.0-beta-osx-x64.tar.gz from this release, picking the file that matches your CPU (Apple Silicon is osx-arm64).
  2. Extract it into its own folder and run ./VRCFaceTracking from there.

If Gatekeeper blocks the app, run xattr -dr com.apple.quarantine on the extracted folder and start it again. SteamVR features are unavailable on macOS.

Uninstall

Close VRCFaceTracking and delete the extracted folder. Settings and modules stay in %AppData%\VRCFaceTracking and logs in %LocalAppData%\VRCFaceTracking\logs; delete those two folders too for a clean removal.

What you need to do

Fresh install: follow the install steps above. Existing installs are offered this update when the app starts; accept it and the app downloads, verifies and applies the archive for your platform, then restarts. You can also close the app and extract the archive over the old folder by hand.

Beta releases log verbosely by default. Stable releases log warnings and errors only; turn on verbose logging under Settings, Diagnostics before reproducing a problem. When reporting a bug, attach the newest vrcft_*.log and vrcft_module_*.log from the log folder (Settings, Diagnostics, Open folder).

v2026.9.21.0-beta

v2026.9.21.0-beta Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 21 Sep 11:01
18dc053

VRCFaceTracking v2026.9.21.0-beta

What's Changed

Bug Fixes

  • fix(host): keep timer resolution and priority when the window is in the background by RealWhyKnot in 2de88ef
  • fix(ipc): send module replies at once and stamp each leg of the round trip by RealWhyKnot in 405176e
  • fix(osc): stop reloading the avatar config on every announcement by RealWhyKnot in 2e2cfee
  • fix(modules): snapshot tracking data without holding the lock across Update by RealWhyKnot in 61ef623
  • fix(mutations): warn when none are discovered by RealWhyKnot in ff2ed9e
  • fix(modules): reject non-finite tracking data and snapshot it coherently by RealWhyKnot in 9aae295
  • fix(sandbox): stop host crashes, packet corruption and send stalls by RealWhyKnot in 0732a6c
  • fix(osc): keep sending a batch past an oversized message by RealWhyKnot in 01b6fe5
  • fix(release): take the file integrity table from the build manifests by RealWhyKnot in 17fc7db

Performance

Changes

  • refactor(release): hash archives with the shared checksums action by RealWhyKnot in 7b05f37

Other

Full Changelog: v2026.9.18.0...v2026.9.21.0-beta

File integrity

Asset Size (MiB) SHA-256
VRCFaceTracking-2026.9.21.0-beta-linux-arm64.tar.gz 57.29 7884c8c2747198dd0d7fec28aff678733f881b696c75332b001ae0f84dd19882
VRCFaceTracking-2026.9.21.0-beta-linux-x64.tar.gz 59.98 ea4d908e2f91b0a5256725187d84514191e88d7302b5141f73694538b505e500
VRCFaceTracking-2026.9.21.0-beta-osx-arm64.tar.gz 46.40 80be48104ad6235920c63b7e4f9a82b98e8a505e313454a43b33026b0c324913
VRCFaceTracking-2026.9.21.0-beta-osx-x64.tar.gz 48.50 75943202a6ed34f9ca24ae1817f27923a71e99e9b9ea20af251e8ab1cb431461
VRCFaceTracking-2026.9.21.0-beta-win-arm64.zip 48.07 1ab2e26cf49747739519db69d13181799af8849eea93f4fba49d69f54580b5e9
VRCFaceTracking-2026.9.21.0-beta-win-x64.zip 50.21 44bc507dec16e6fdd86259b28bad59b46ddd9ac8782f737893cf9db6a0623f39

Per-file hashes ship beside each archive as a matching .integrity.tsv asset.

More

Install on Windows

  1. Download VRCFaceTracking-2026.9.21.0-beta-win-arm64.zip or VRCFaceTracking-2026.9.21.0-beta-win-x64.zip from this release.
  2. Extract it anywhere except Program Files.
  3. Run VRCFaceTracking.exe. Install your tracking module from the Module Registry tab if you have not before.
  4. Launch VRChat with OSC enabled. The Home tab shows the module as active once it is receiving data.

Settings and installed modules live in %AppData%\VRCFaceTracking and are shared with the Steam build, so an existing setup carries over.

Install on Linux

  1. Download VRCFaceTracking-2026.9.21.0-beta-linux-arm64.tar.gz or VRCFaceTracking-2026.9.21.0-beta-linux-x64.tar.gz from this release, picking the file that matches your CPU.
  2. Extract it into its own folder: mkdir vrcft && tar -xzf <archive> -C vrcft.
  3. If the app is not executable after extraction, run chmod +x VRCFaceTracking in that folder.
  4. Run ./VRCFaceTracking.

Minimal distros also need libice6 and libsm6 installed.

Install on macOS

  1. Download VRCFaceTracking-2026.9.21.0-beta-osx-arm64.tar.gz or VRCFaceTracking-2026.9.21.0-beta-osx-x64.tar.gz from this release, picking the file that matches your CPU (Apple Silicon is osx-arm64).
  2. Extract it into its own folder and run ./VRCFaceTracking from there.

If Gatekeeper blocks the app, run xattr -dr com.apple.quarantine on the extracted folder and start it again. SteamVR features are unavailable on macOS.

Uninstall

Close VRCFaceTracking and delete the extracted folder. Settings and modules stay in %AppData%\VRCFaceTracking and logs in %LocalAppData%\VRCFaceTracking\logs; delete those two folders too for a clean removal.

What you need to do

Fresh install: follow the install steps above. Existing installs are offered this update when the app starts; accept it and the app downloads, verifies and applies the archive for your platform, then restarts. You can also close the app and extract the archive over the old folder by hand.

Beta releases log verbosely by default. Stable releases log warnings and errors only; turn on verbose logging under Settings, Diagnostics before reproducing a problem. When reporting a bug, attach the newest vrcft_*.log and vrcft_module_*.log from the log folder (Settings, Diagnostics, Open folder).

v2026.9.18.0

Choose a tag to compare

@github-actions github-actions released this 18 Sep 16:22
14371e0

VRCFaceTracking v2026.9.18.0

What's Changed

Features

  • feat(release): ship Windows, Linux, and macOS builds with a per-OS updater by RealWhyKnot in d745b4f
  • feat(mutations): master switch and developer-gated tuning controls by RealWhyKnot in d5bc4e4
  • feat(settings): developer mode, changeable log folder, and camera stream view by RealWhyKnot in 90ff342
  • feat(ui): settings and capability controls, shared styling, output page rework by RealWhyKnot in 1285694
  • feat(modules): report startup progress and stream camera frames over module IPC by RealWhyKnot in 3738b28
  • feat(ui): add cross-platform Avalonia app head alongside the WinUI app by RealWhyKnot in dca36f6
  • feat(modules): per-module capability restrictions persisted across sessions by RealWhyKnot in a18964c
  • feat(modules): run multiple modules at once with deterministic capability assignment by RealWhyKnot in c81aa80
  • feat(modules): uninstall modules without restarting the app by RealWhyKnot in 64b8cc6
  • feat: add eye and mouth/brow assist tracking mutations by RealWhyKnot in f23c847
  • feat: restart a crashed module process automatically by RealWhyKnot in 3e1cde7
  • feat(registry): Fix module installation button states. by lumeyisnotyou in 6081c7a
  • feat(updates): check GitHub releases on beta and stable builds and apply updates in-app by RealWhyKnot in 5a10a1d
  • feat(logging): dated rotating log files, verbose gate per build channel, module crash capture by RealWhyKnot in 6526679
  • feat(gaze): add linearly normalised eye gaze output parameters by Happyrobot33 in f851015

Bug Fixes

  • fix(ui): make status colours follow the light and dark themes by RealWhyKnot in 253e0cc
  • fix(build): track the Windows OpenVR runtime so clean checkouts build by RealWhyKnot in b8d3c45
  • fix(logging): sanitize module log names identically on every platform by RealWhyKnot in 707c521
  • fix(mutations): leave the eye and mouth/brow assists off by default by RealWhyKnot in ce5abf2
  • fix(ui): review fixes for settings, registry, and page lifecycle by RealWhyKnot in 809c2f6
  • fix(modules): harden init, restart, and IPC paths found in review by RealWhyKnot in 1a60fb8
  • fix(ui): stop the tracking settings page crashing the app and drop the inherited telemetry config by RealWhyKnot in a992198
  • fix(core): resolve data directories on machines without existing config folders by RealWhyKnot in c2a1f0a
  • fix(core): run without a local VRChat or Steam install by RealWhyKnot in 263a502
  • fix(modules): guard shared tracking data against concurrent merge and send by RealWhyKnot in 6eb7ea1
  • fix(modules): correct capability claim bookkeeping across multiple modules by RealWhyKnot in 116b439
  • fix(modules): tell modules whether eye and expression tracking are in use by RealWhyKnot in b6dae1e
  • fix(osc): stop parsing the avatar definition twice on OSCQuery load by RealWhyKnot in 3c866b8
  • fix(osc): free message meta memory and dispose binary sub-parameters on reset by RealWhyKnot in 5913313
  • fix(mutation): keep a mutation whose settings failed to load by RealWhyKnot in 14eb52a
  • fix(osc): guard against the VRChat OSC directory not existing yet by RealWhyKnot in e1c744f
  • fix: remove cross-thread races and leaks in the OSC, OpenVR, and updater paths by RealWhyKnot in 87080a4
  • fix: survive network, file, and settings failures that crashed startup and the UI by RealWhyKnot in 7fc0c38
  • fix(teardown): stop shutdown races being logged as module crashes by RealWhyKnot in 0f94541
  • fix(ipc): keep the receive loop alive and validate packet bounds by RealWhyKnot in 7d7dfb6
  • fix: keep the commit stamp out of the tracked version file by RealWhyKnot in 7b2fac9
  • fix(modules): resolve module host path against the app directory by RealWhyKnot in d0b79f8
  • fix(openvr): allow exit-with-SteamVR toggle offline and reconnect in the background by RealWhyKnot in c82389c
  • fix: Properly run teardown on avalonia exit by benaclejames in 2c244a1
  • fix: gamescope crash due to gsettings probe by benaclejames in f164340
  • fix: Use local ICU on linux by benaclejames in 32c4f86
  • fix: publish linux build with self contained .net runtime by benaclejames in 622a181
  • fix(core): Various cross platform and async fixes for core by benaclejames in c1b400e
  • fix(mutator): add loaded mutations under the mutations lock by RealWhyKnot in 8ed0d20
  • fix(openvr): handle the SteamVR quit event on a timer through the normal window close, opt-in and off by default by RealWhyKnot in 936166c
  • fix(module): shut the module host down ten seconds after losing the app once connected by RealWhyKnot in 4c1fce9
  • fix(ipc): only decode received bytes when the socket returned data by RealWhyKnot in 47c9f56
  • fix(app): create the main window lazily so launch cannot run before the host is built by RealWhyKnot in f4fedb1
  • fix: Exit VRCFT when SteamVR shuts down by yuki-maruyama in af7a0e2

Performance

  • perf(ui): coalesce debug image frames, index parameter rows, reuse the log scroll timer by RealWhyKnot in aa59a7c
  • perf(ipc): cache the update packet bytes and wake the module host on events instead of spinning by RealWhyKnot in 3093a03
  • perf(osc): encode bundles without per-tick allocations or thread hops by RealWhyKnot in ec9cd7a
  • perf(osc): read parsed message fields directly and block on socket receive by RealWhyKnot in ceaa234

Changes

  • refactor(ui): bind module install state instead of poking the buttons by RealWhyKnot in e2b810a
  • refactor(ui): share styles, scale layout to the window, and ease transitions by RealWhyKnot in 155b3bb
  • refactor(ui): replace the WinUI app with the Avalonia app as the single head by RealWhyKnot in b495d68
  • refactor(mutations): label each card's toggle instead of adding a master switch by RealWhyKnot in 4195d70
  • refactor(modules): route module data through capability groups at the merge point by RealWhyKnot in 5e28697
  • refactor(osc): replace the native fti_osc dll with a managed codec by RealWhyKnot in 8d7d895
  • refactor: Various fixes incl better async and deprecating need for module uninstall restart by benaclejames in 41d6350
  • refactor(ui): move remaining literal strings to resources, add log folder and module restart buttons, point links at this repo by RealWhyKnot in 8263981
  • refactor(ui): replace the toolkit list-details control in the module registry with a two-pane layout by RealWhyKnot in 6e7c498

Documentation

CI

  • ci(release): smoke test a startup marker that stable builds still log by RealWhyKnot in 14371e0
  • ci(release): base the changelog on the fork point when no earlier release exists by RealWhyKnot in ab45b8f
  • ci(release): draft-first releases, arm64 assets, and sturdier verification by RealWhyKnot in 155f680
  • ci(contributors): bundle a generated contributors list with the app by RealWhyKnot in ea3bf10
  • ci: prefix dependabot commits and accept revert subjects by RealWhyKnot in 4e0de9f
  • ci(nightly): pass repo-specific paths to the beta gate by RealWhyKnot in 6b2a807
  • ci: use the shared changelog-append and nightly-beta workflows by RealWhyKnot in 67e151e
  • ci: use the shared resolve-tag...
Read more

v2026.9.17.0-beta

v2026.9.17.0-beta Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 17 Sep 10:18
e2b810a

VRCFaceTracking v2026.9.17.0-beta

What's Changed

Bug Fixes

Changes

  • refactor(ui): bind module install state instead of poking the buttons by RealWhyKnot in e2b810a
  • refactor(ui): share styles, scale layout to the window, and ease transitions by RealWhyKnot in 155b3bb

Chores

Other

Full Changelog: v2026.9.16.1-beta...v2026.9.17.0-beta

File integrity

Asset Size (MiB) SHA-256
VRCFaceTracking-2026.9.17.0-beta-linux-arm64.tar.gz 57.29 ff6cb81a2ff383c1d666df242bafaf21b44e2491c0dac0d2638efd2689582068
VRCFaceTracking-2026.9.17.0-beta-linux-x64.tar.gz 59.97 7eca79df05e4744fee055877395f226a2ff700da874ab60f9e2ce8f4ce626457
VRCFaceTracking-2026.9.17.0-beta-osx-arm64.tar.gz 46.39 b74430591dd02add4fc183203be14bde485d9ba2074b211146606d8331d2ebc7
VRCFaceTracking-2026.9.17.0-beta-osx-x64.tar.gz 48.50 b2542acc280db905f1223486341d14be7b659e9685114310e5f1c13c8fb13af5
VRCFaceTracking-2026.9.17.0-beta-win-arm64.zip 48.06 98a6b083aa1e2ce18a6ecdc27a3254494ec475ac8806a56b7d7dd33e53450c22
VRCFaceTracking-2026.9.17.0-beta-win-x64.zip 50.21 a030a127b8007ef0d12e74d30bb17858cf471d3fa8ce026b086144fe9b133870

Per-file hashes ship beside each archive as a matching .integrity.tsv asset.

More

Install on Windows

  1. Download VRCFaceTracking-2026.9.17.0-beta-win-arm64.zip or VRCFaceTracking-2026.9.17.0-beta-win-x64.zip from this release.
  2. Extract it anywhere except Program Files.
  3. Run VRCFaceTracking.exe. Install your tracking module from the Module Registry tab if you have not before.
  4. Launch VRChat with OSC enabled. The Home tab shows the module as active once it is receiving data.

Settings and installed modules live in %AppData%\VRCFaceTracking and are shared with the Steam build, so an existing setup carries over.

Install on Linux

  1. Download VRCFaceTracking-2026.9.17.0-beta-linux-arm64.tar.gz or VRCFaceTracking-2026.9.17.0-beta-linux-x64.tar.gz from this release, picking the file that matches your CPU.
  2. Extract it into its own folder: mkdir vrcft && tar -xzf <archive> -C vrcft.
  3. If the app is not executable after extraction, run chmod +x VRCFaceTracking in that folder.
  4. Run ./VRCFaceTracking.

Minimal distros also need libice6 and libsm6 installed.

Install on macOS

  1. Download VRCFaceTracking-2026.9.17.0-beta-osx-arm64.tar.gz or VRCFaceTracking-2026.9.17.0-beta-osx-x64.tar.gz from this release, picking the file that matches your CPU (Apple Silicon is osx-arm64).
  2. Extract it into its own folder and run ./VRCFaceTracking from there.

If Gatekeeper blocks the app, run xattr -dr com.apple.quarantine on the extracted folder and start it again. SteamVR features are unavailable on macOS.

Uninstall

Close VRCFaceTracking and delete the extracted folder. Settings and modules stay in %AppData%\VRCFaceTracking and logs in %LocalAppData%\VRCFaceTracking\logs; delete those two folders too for a clean removal.

What you need to do

Fresh install: follow the install steps above. Existing installs are offered this update when the app starts; accept it and the app downloads, verifies and applies the archive for your platform, then restarts. You can also close the app and extract the archive over the old folder by hand.

Beta releases log verbosely by default. Stable releases log warnings and errors only; turn on verbose logging under Settings, Diagnostics before reproducing a problem. When reporting a bug, attach the newest vrcft_*.log and vrcft_module_*.log from the log folder (Settings, Diagnostics, Open folder).

v2026.9.16.1-beta

v2026.9.16.1-beta Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 16 Sep 11:40
cf94689

VRCFaceTracking v2026.9.16.1-beta

What's Changed

Features

  • feat(release): ship Windows, Linux, and macOS builds with a per-OS updater by RealWhyKnot in d745b4f
  • feat(mutations): master switch and developer-gated tuning controls by RealWhyKnot in d5bc4e4
  • feat(settings): developer mode, changeable log folder, and camera stream view by RealWhyKnot in 90ff342
  • feat(ui): settings and capability controls, shared styling, output page rework by RealWhyKnot in 1285694
  • feat(modules): report startup progress and stream camera frames over module IPC by RealWhyKnot in 3738b28
  • feat(ui): add cross-platform Avalonia app head alongside the WinUI app by RealWhyKnot in dca36f6
  • feat(modules): per-module capability restrictions persisted across sessions by RealWhyKnot in a18964c
  • feat(modules): run multiple modules at once with deterministic capability assignment by RealWhyKnot in c81aa80

Bug Fixes

  • fix(build): track the Windows OpenVR runtime so clean checkouts build by RealWhyKnot in b8d3c45
  • fix(logging): sanitize module log names identically on every platform by RealWhyKnot in 707c521
  • fix(mutations): leave the eye and mouth/brow assists off by default by RealWhyKnot in ce5abf2
  • fix(ui): review fixes for settings, registry, and page lifecycle by RealWhyKnot in 809c2f6
  • fix(modules): harden init, restart, and IPC paths found in review by RealWhyKnot in 1a60fb8
  • fix(ui): stop the tracking settings page crashing the app and drop the inherited telemetry config by RealWhyKnot in a992198
  • fix(core): resolve data directories on machines without existing config folders by RealWhyKnot in c2a1f0a
  • fix(core): run without a local VRChat or Steam install by RealWhyKnot in 263a502
  • fix(modules): guard shared tracking data against concurrent merge and send by RealWhyKnot in 6eb7ea1
  • fix(modules): correct capability claim bookkeeping across multiple modules by RealWhyKnot in 116b439

Changes

  • refactor(ui): replace the WinUI app with the Avalonia app as the single head by RealWhyKnot in b495d68
  • refactor(mutations): label each card's toggle instead of adding a master switch by RealWhyKnot in 4195d70
  • refactor(modules): route module data through capability groups at the merge point by RealWhyKnot in 5e28697

Documentation

  • docs: describe cross-platform support and multi-module tracking by RealWhyKnot in cd8ace8

CI

  • ci(release): draft-first releases, arm64 assets, and sturdier verification by RealWhyKnot in 155f680
  • ci(contributors): bundle a generated contributors list with the app by RealWhyKnot in ea3bf10

Tests

  • test(ui): render every page headlessly and cover the mutator templates by RealWhyKnot in 1be5d21
  • test(ipc): stop parallel split-packet tests from sharing reassembly state by RealWhyKnot in a3617a5

Chores

Other

Full Changelog: v2026.9.16.0-beta...v2026.9.16.1-beta

File integrity

Asset Size (MiB) SHA-256
VRCFaceTracking-2026.9.16.1-beta-linux-arm64.tar.gz 57.27 66740138f5cee4ae374d5b24b9de8eed544d142156f410ed38ea2da8ce829be8
VRCFaceTracking-2026.9.16.1-beta-linux-x64.tar.gz 59.96 8812ec27a018f578eecc87978da1965b4e20eba9608ca9cfb2d2ebbc18fa247f
VRCFaceTracking-2026.9.16.1-beta-osx-arm64.tar.gz 46.36 d6b2affc9e742e1f15f687f558db16113f6ea626a12fd2fc099e53b3e15f15a8
VRCFaceTracking-2026.9.16.1-beta-osx-x64.tar.gz 48.47 d4c298ffc3ee614c9c7cdd8aa597b3160f77d6944d90b5dce5466039d47181b4
VRCFaceTracking-2026.9.16.1-beta-win-arm64.zip 48.04 cd85a7277afc5e74460967815d630f7cb3bb5fb52ec5e082b768db7e3b5f080f
VRCFaceTracking-2026.9.16.1-beta-win-x64.zip 50.19 bfe8257b90e795b50bc4ba14b9e3c12e14d0a43607c4c3836fae8d6b108076f1

Per-file hashes ship beside each archive as a matching .integrity.tsv asset.

More

Install on Windows

  1. Download VRCFaceTracking-2026.9.16.1-beta-win-arm64.zip or VRCFaceTracking-2026.9.16.1-beta-win-x64.zip from this release.
  2. Extract it anywhere except Program Files.
  3. Run VRCFaceTracking.exe. Install your tracking module from the Module Registry tab if you have not before.
  4. Launch VRChat with OSC enabled. The Home tab shows the module as active once it is receiving data.

Settings and installed modules live in %AppData%\VRCFaceTracking and are shared with the Steam build, so an existing setup carries over.

Install on Linux

  1. Download VRCFaceTracking-2026.9.16.1-beta-linux-arm64.tar.gz or VRCFaceTracking-2026.9.16.1-beta-linux-x64.tar.gz from this release, picking the file that matches your CPU.
  2. Extract it into its own folder: mkdir vrcft && tar -xzf <archive> -C vrcft.
  3. If the app is not executable after extraction, run chmod +x VRCFaceTracking in that folder.
  4. Run ./VRCFaceTracking.

Minimal distros also need libice6 and libsm6 installed.

Install on macOS

  1. Download VRCFaceTracking-2026.9.16.1-beta-osx-arm64.tar.gz or VRCFaceTracking-2026.9.16.1-beta-osx-x64.tar.gz from this release, picking the file that matches your CPU (Apple Silicon is osx-arm64).
  2. Extract it into its own folder and run ./VRCFaceTracking from there.

If Gatekeeper blocks the app, run xattr -dr com.apple.quarantine on the extracted folder and start it again. SteamVR features are unavailable on macOS.

Uninstall

Close VRCFaceTracking and delete the extracted folder. Settings and modules stay in %AppData%\VRCFaceTracking and logs in %LocalAppData%\VRCFaceTracking\logs; delete those two folders too for a clean removal.

What you need to do

Fresh install: follow the install steps above. Existing installs are offered this update when the app starts; accept it and the app downloads, verifies and applies the archive for your platform, then restarts. You can also close the app and extract the archive over the old folder by hand.

Beta releases log verbosely by default. Stable releases log warnings and errors only; turn on verbose logging under Settings, Diagnostics before reproducing a problem. When reporting a bug, attach the newest vrcft_*.log and vrcft_module_*.log from the log folder (Settings, Diagnostics, Open folder).

v2026.9.16.0-beta

v2026.9.16.0-beta Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 16 Sep 10:12
077ae95

VRCFaceTracking v2026.9.16.0-beta

What's Changed

Features

Bug Fixes

Changes

  • refactor(osc): replace the native fti_osc dll with a managed codec by RealWhyKnot in 8d7d895
  • refactor: Various fixes incl better async and deprecating need for module uninstall restart by benaclejames in 41d6350

Documentation

CI

  • ci: prefix dependabot commits and accept revert subjects by RealWhyKnot in 4e0de9f
  • ci(nightly): pass repo-specific paths to the beta gate by RealWhyKnot in 6b2a807
  • ci: use the shared changelog-append and nightly-beta workflows by RealWhyKnot in 67e151e
  • ci: use the shared resolve-tag action by RealWhyKnot in 038b86f
  • ci: use the shared commit-msg-check workflow by RealWhyKnot in f181d34
  • ci: fix up incorrect $(OS) identifier as we use Linux GH actions runners to build all versions now and these wouldn't work for Windows. Remove need for vcruntime too since we no longer use winui3 by benaclejames in 60b6c10
  • ci: Make AnyCPU actually build with AnyCPU by benaclejames in b453ee4

Chores

Other

  • style: fix indentation in the packet decoder by RealWhyKnot in 21b3057
  • Include avatarinfo in parameter reset call to allow parameters to make more intelligent decisions and maintain backwards compat with osc json def by benaclejames in fa3514f
  • Remove erroneous double parsing of legacy avatar definition. Dont send native when zero param list passed by benaclejames in c006dc5
  • avatarinfo parsing tweaks by benaclejames in 0ddb523
  • Fix up disposal in baseparameter, oscmessage, and binarybaseparameter by benaclejames in 9dc8f47
  • Fix up localizations by benaclejames in 32a6f50
  • Better conditionals for native=. Cleanup native definitions by benaclejames in 56e6849
  • Experimental approach to ditch 10hz update loop in favor of module reply packet based send quorum by benaclejames in 7d6fe87
  • Attempt to improve binary message send efficiency by benaclejames in 7d2ed42
  • Better osc blob handling. Refactor shared mem buffer in attempt to reduce stuttering. Rebuild fti_osc incl macos arm64 by benaclejames in 2f59bce
  • Adjust module image loader to support multiple images. Attempt to restore formatting from winui by benaclejames in bedc148
  • add padding to module search box. fixed bug with local module in which app would crash due to missing file. reinit modules after local module install by benaclejames in cee3183
  • module install from zip button and search by benaclejames in aa6a75b
  • update rust osc lib; add binary support by benaclejames in c141d07
  • Fix up usingeye usingexpression statuses. Clean up moduleprocess and unifiedlibmanager to separate out sandbox handling by benaclejames in 38ea184
  • Include missing openvr_api.dlls for win64/32 by benaclejames in 2cd8b97
  • Better view navigatedTo notification system. Fix issue on homepage where "no modules installed" would persist after install by benaclejames in ac59aa2
  • Module registry status representation tweaks. Reinitialize libmanager after module uninstall by benaclejames in 6b7f7f0
  • Fix up old namespaces. Clean up logging providers. Separate DI out between core and ui. by benaclejames in 508e5e8
  • Remove redundant module sandboxing fields. Double check for null on teardown. Fix up horizontal scroll bar in output page obscuring latest log line and utilize autohiding. Improve autoscroll reliability. by benaclejames in f1fc591
  • Attempt to speed up logging service and output page to avoid lockup upon log spam by benaclejames in 12f53a2
  • Update module registry install state on change by benaclejames in f91a4bf
  • Update gh action to support linux and diff branches by benaclejames in 021c437
  • Avalonia styling, converters, views & general swapping of all related code. Remove windows dependencies. Fix up various cross platform issues. First party linux support with associated libs. ARM build support. Consider ethernet frame size in udp max transfer unit. Implement (jank) chunking in sandboxclient senddata byte array instead of only ipcpacket by benaclejames in 959f4c5

Full Changelog: v2026.9.8.0-beta...v2026.9.16.0-beta

File integrity

  • VRCFaceTracking-2026.9.16.0-beta-win-x64.zip (92.37 MiB), SHA256 263c55344a222bf7b73deb1a09a4e3c5bbe4ce7e69f5c08f8251f186edd790fd
  • Hashes for every file in the zip are attached as VRCFaceTracking-2026.9.16.0-beta-win-x64.integrity.tsv.

More

Install (fresh)

  1. Download VRCFaceTracking-2026.9.16.0-beta-win-x64.zip from this release.
  2. Extract it anywhere except Program Files.
  3. Run VRCFaceTracking.exe. Install your tracking module from the Module Registry tab if you have not before.
  4. Launch VRChat with OSC enabled. The Home tab shows the module as active once it is receiving data.

Settings and installed modules live in %AppData%\VRCFaceTracking and are shared with the Steam build, so an existing setup carries over.

Uninstall

Close VRCFaceTracking and delete the extracted folder. Settings and modules stay in %AppData%\VRCFaceTracking and logs in %LocalAppData%\VRCFaceTracking\logs; delete those two folders too for a clean removal.

What you need to do

Fresh install: follow the install steps above. Existing installs are offered this update when the app starts; accept it and the app downloads, verifies and applies the zip, then restarts. You can also close the app and extract this zip over the old folder by hand.

Beta releases log verbosely by default. Stable releases log warnings and errors only; turn on verbose logging under Settings, Diagnostics before reproducing a problem. When reporting a bug, attach the newest vrcft_*.log and vrcft_module_*.log from the log folder (Settings, Diagnostics, Open folder).