VTI Troubleshooting

From WaffleSlapper's Project Wiki


To steal a phrase from a friend of mine, VTI is an imperfect application created by an imperfect being. Not only this, but it also relies on an imperfect communication method (until OSC comes to VRChat Worlds) to work. Because of all this, there are some known issues and caveats that you will probably run into while using VTI. Below is a list of said common issues and how they may be dealt with.

VTI Occasionally Opens a Browser Tab That Says "Logged In"

This is because VTI uses Twitch’s Implicit Grant Flow to authenticate with your Twitch account (see VTI Function Overview for more details). This method generates an "Access Token" that the Companion uses to connect to Twitch securely. This token is only valid for a limited amount of time and must occasionally be reacquired from Twitch (most documentation says once every 60 days, though this may differ).

I Want To Revoke My Access Tokens!

Whether by way of a security leak or just healthy security paranoia, you might find yourself wanting to remove Twitch access from VTI. This can be done at any time by disconnecting VTI from your Twitch Connections page.

FIX: Disconnect "VTI - Stream Integration For VRChat Worlds" On Your Twitch Connections Page

When Trying To Connect, The Panel In VRC Immediately Fails To Connect And Shows A Red Status

VTI will connect to the Companion using Remote String Loading (see VTI Function Overview for more details). To do this, it needs to be able to connect to "localhost:12011", and "localhost" is not a whitelisted URL by default.

FIX: Enable "Allow Untrusted URLs" in your Comfort & Safety Settings menu.

The VRChat Link Light Just Keeps Blinking Yellow And Never Connects

The VTI Companion App relies on VRChat’s Debug Log file to hear anything the VRC side is saying. If VRChat is not currently writing out its Debug Output, VTI has nothing to listen to, and the connection will never be able to complete. See VTI Function Overview for more details.

FIX: Enable Logging in VRChat’s Debug options, and remove -nolog from VRChat’s Launch Options if present.

New Events Take Several Seconds To Trigger

This is an unfortunate downside of Remote String Loading, as it is globally capped to only work once every 5 seconds, and while on cooldown new requests will be queued and cleared “at random”. If any other Udon script is also trying to use Remote String Loading, VTI will have to wait an additional 5 seconds for the next open “time slot” that it can attempt a read. VTI will only read once every 6 seconds by default, and hard-cap itself to 5.1 seconds at the fastest so as not to completely hog the Remote String Loading queue.

FIX: Petition VRChat to add OSC support for Worlds or something.

The Companion App Keeps Throwing Errors About Permissions And Such

Unfortunately, due to how the VTI Companion works, it needs to read from VRChat’s AppData directory. If you are running the Companion with insufficient privileges to read that file, it will fail to connect. Likewise, if you have somehow downloaded the VTI Companion App without ever running VRChat on the machine, you will see an error that the Log directory cannot be found.

FIX: Run the Companion App as Administrator, and run VRChat at least once before launching VTI.

How Do I Run This on Quest/Android?

Due to how the VTI Companion App functions (see VTI Function Overview for more details), VTI cannot be supported on standalone Quest or Android devices at this time.

FIX: Tether your HMD to a PC.