VTI Troubleshooting: Difference between revisions

From WaffleSlapper's Project Wiki
(Ported Troubleshooting over from portfolio page.)
 
(Rewrote Browser Tab issue to match new behavior. Added Access Token Revocation instructions.)
 
(2 intermediate revisions by the same user not shown)
Line 1: Line 1:
[[Category:VTI]]
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 [[VRChat Twitch Integration|VTI]]. Below is a list of said common issues and how they may be dealt with.
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 [[VRChat Twitch Integration|VTI]]. Below is a list of said common issues and how they may be dealt with.


== Every Time I Open VTI, It Opens A Browser Tab ==
== 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 is the most secure method for both you and myself as the auth tokens only work for that session, are not stored either locally nor on any of my servers, and do not require that I bake VTI’s “Client Secret” into the Companion App’s code or run an external authentication webservice. Put simply: VTI does not collect your login information, and any session information is trashed once VTI is closed.
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 [https://www.twitch.tv/settings/connections Twitch Connections Page] ====


== New Events Take Several Seconds To Trigger ==
== When Trying To Connect, The Panel In VRC Immediately Fails To Connect And Shows A Red Status ==
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.
VTI will connect to the [[VTI Companion App|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: Petition VRChat to add OSC support for Worlds or something. ====
==== FIX: Enable "Allow Untrusted URLs" in your Comfort & Safety Settings menu. ====


== The VRChat Link Light Just Keeps Blinking Yellow And Never Connects ==
== The VRChat Link Light Just Keeps Blinking Yellow And Never Connects ==
Line 14: Line 21:
==== FIX: Enable Logging in VRChat’s Debug options, and remove -nolog from VRChat’s Launch Options if present. ====
==== FIX: Enable Logging in VRChat’s Debug options, and remove -nolog from VRChat’s Launch Options if present. ====
[[File:VTI Logging Option Example.png|300px]]
[[File:VTI Logging Option Example.png|300px]]
== 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 ==
== The Companion App Keeps Throwing Errors About Permissions And Such ==

Latest revision as of 22:58, 27 March 2024


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.