The open beta of the PC version of VRChat now natively supports hand tracking, via the SteamVR Skeletal Input system.
The VRChat standalone app on the Quest Store has supported hand tracking since late 2022. But of course, the best way to experience VRChat is via a gaming PC. You see higher-quality versions of most avatars and worlds, and get access to PC-only avatars and worlds that go far beyond what's possible on mobile.
With the latest open beta of VRChat you can now use hand tracking on PC too, including the finger gesture control system originally designed for Quest.
Previously it was possible to use hand tracking to emulate Valve Index controllers on PC, but this didn't allow for full finger articulation.
0:00
/1:21
1×
</figure><p>VRChat doesn't use OpenXR yet, so to use hand tracking on PC you'll need software that supports forwarding hand tracking to SteamVR Skeletal Input.</p><p>If you have a Meta Quest headset you can do this with the latest beta of <a href="https://www.vrdesktop.net/?ref=uploadvr.com">Virtual Desktop</a>. If you have an Apple Vision Pro, you can use <a href="https://www.uploadvr.com/alvr-apple-vision-pro-now-on-app-store/">ALVR</a>. Or with any native PC VR headset, you can use the open-source <a href="https://github.com/SDraw/driver_leap?ref=uploadvr.com">SteamVR driver</a> for the <a href="https://www.uploadvr.com/leap-motion-2/">Leap Motion 2 addon</a>.</p><p>A warning though: Virtual Desktop's developer Guy Godin tells UploadVR that his app's current support for this is very much an experimental beta, still in development, and he doesn't consider it stable enough for general use.</p><figure class="kg-card kg-video-card kg-width-regular" data-kg-thumbnail="https://www.uploadvr.com/content/media/2024/05/VRChat-cross-platform-hand-tracking_thumb.jpg" data-kg-custom-thumbnail="">
<div class="kg-video-container">
<video src="https://www.uploadvr.com/content/media/2024/05/VRChat-cross-platform-hand-tracking.mp4" poster="https://img.spacergif.org/v1/1280x720/0a/spacer.png" width="1280" height="720" loop="" autoplay="" muted="" playsinline="" preload="metadata" style="background: transparent url('https://www.uploadvr.com/content/media/2024/05/VRChat-cross-platform-hand-tracking_thumb.jpg') 50% 50% / cover no-repeat;"></video>
<div class="kg-video-overlay">
<button class="kg-video-large-play-icon" aria-label="Play video">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
<path d="M23.14 10.608 2.253.164A1.559 1.559 0 0 0 0 1.557v20.887a1.558 1.558 0 0 0 2.253 1.392L23.14 13.393a1.557 1.557 0 0 0 0-2.785Z"></path>
</svg>
</button>
</div>
<div class="kg-video-player-container kg-video-hide">
<div class="kg-video-player">
<button class="kg-video-play-icon" aria-label="Play video">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
<path d="M23.14 10.608 2.253.164A1.559 1.559 0 0 0 0 1.557v20.887a1.558 1.558 0 0 0 2.253 1.392L23.14 13.393a1.557 1.557 0 0 0 0-2.785Z"></path>
</svg>
</button>
<button class="kg-video-pause-icon kg-video-hide" aria-label="Pause video">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
<rect x="3" y="1" width="7" height="22" rx="1.5" ry="1.5"></rect>
<rect x="14" y="1" width="7" height="22" rx="1.5" ry="1.5"></rect>
</svg>
</button>
<span class="kg-video-current-time">0:00</span>
<div class="kg-video-time">
/<span class="kg-video-duration">0:06</span>
</div>
<input type="range" class="kg-video-seek-slider" max="100" value="0">
<button class="kg-video-playback-rate" aria-label="Adjust playback speed">1×</button>
<button class="kg-video-unmute-icon" aria-label="Unmute">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
<path d="M15.189 2.021a9.728 9.728 0 0 0-7.924 4.85.249.249 0 0 1-.221.133H5.25a3 3 0 0 0-3 3v2a3 3 0 0 0 3 3h1.794a.249.249 0 0 1 .221.133 9.73 9.73 0 0 0 7.924 4.85h.06a1 1 0 0 0 1-1V3.02a1 1 0 0 0-1.06-.998Z"></path>
</svg>
</button>
<button class="kg-video-mute-icon kg-video-hide" aria-label="Mute">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
<path d="M16.177 4.3a.248.248 0 0 0 .073-.176v-1.1a1 1 0 0 0-1.061-1 9.728 9.728 0 0 0-7.924 4.85.249.249 0 0 1-.221.133H5.25a3 3 0 0 0-3 3v2a3 3 0 0 0 3 3h.114a.251.251 0 0 0 .177-.073ZM23.707 1.706A1 1 0 0 0 22.293.292l-22 22a1 1 0 0 0 0 1.414l.009.009a1 1 0 0 0 1.405-.009l6.63-6.631A.251.251 0 0 1 8.515 17a.245.245 0 0 1 .177.075 10.081 10.081 0 0 0 6.5 2.92 1 1 0 0 0 1.061-1V9.266a.247.247 0 0 1 .073-.176Z"></path>
</svg>
</button>
<input type="range" class="kg-video-volume-slider" max="100" value="100">
</div>
</div>
</div>
</figure><p>VRChat on PC getting this hand tracking support should enable a significant leap in expressivity, and even expand the range of <a href="https://www.youtube.com/watch?v=unxi16gQDXk&ref=uploadvr.com">sign language signs</a> able to be signed. Combined with the platform's support for <a href="https://www.uploadvr.com/vrchat-native-eye-tracking-quest-pro/">eye tracking</a>, face tracking, and <a href="https://www.uploadvr.com/virtual-desktop-quest-3-inside-out-body-tracking-vive-tracker-emulation/">body tracking</a>, VRChat can now (in beta at least) deliver a deeper sense of social presence than almost any other widely available technology. </p>
This is a companion discussion topic for the original entry at https://www.uploadvr.com/vrchat-native-hand-tracking-pc/