VRChat plays videos through yt-dlp. Stock yt-dlp is slow, breaks whenever YouTube changes something, and returns URLs that AVPro blocks in public worlds. VRCResolver replaces VRChat's Tools/yt-dlp.exe with a patched build that resolves videos through vrcresolver.com and serves them from a local address AVPro trusts. If anything fails, it falls back to VRChat's original yt-dlp, so playback is never worse than stock.
Formerly WKVRCProxy. Old installs update automatically.
- Works in public worlds. Streams are served from
localhost.youtube.com:{port}, which AVPro's trust list accepts. - Resolves on a server, not your PC. Regional blocks and rate limits don't apply, and the server updates its yt-dlp nightly, so YouTube breakage gets fixed without you doing anything.
- Fast. 2-3 seconds for a new URL, about 20 ms for a repeat.
- Better quality. 1080p HLS instead of 360p mp4.
- Never breaks playback. Any failure hands the URL to VRChat's original yt-dlp.
No DRM bypass, no content hosting, no YouTube login.
- Launch VRChat once, so
Tools/yt-dlp.exeexists for the patcher to back up. - Download the latest
vrcresolver-*.ziprelease and extract it anywhere exceptProgram Files. - Run
vrcresolver.exeand accept the one-time UAC prompt. It adds127.0.0.1 localhost.youtube.comto your hosts file, which public-world playback needs. - Launch VRChat. When the console shows
[mesh] connected, paste a video URL into any in-world player.
Update: type /update in the console.
Uninstall: run vrcresolver.Uninstaller.exe. It restores the original yt-dlp.exe, removes the hosts entry, and wipes %LOCALAPPDATA%Low\vrcresolver\. There is no confirmation prompt.
Windows 10/11 x64. Self-contained, no installer.
The console prints one line per resolve: green = resolved, yellow = fell back to stock yt-dlp, red = error. Full logs are in %LOCALAPPDATA%Low\vrcresolver\logs\. When filing a bug, include the correlation-ID block for the failed resolve.
VRChat (AVPro)
v paste URL
Tools/yt-dlp.exe patched shim
v named pipe
vrcresolver.exe watchdog
v WebSocket
vrcresolver.com remote resolver
The resolved stream comes back through the watchdog's local listener at http://localhost.youtube.com:{port}/play/<session>/manifest.<ext>?target=.... If any link breaks, the shim runs the backed-up yt-dlp-og.exe instead.
GPL-3.0-or-later. See LICENSE for the full text and NOTICE for third-party attributions.