This post is designed to be updated as questions come up. It is community content, it isn't the official view of the VRTK developers, however, it is intended to reflect their views and take the burden of community support away from them so they can be writing the cool code which makes VRTK possible for us all to use.
Q. Is VRTK v4 a funded project with full-on development and support?
A. No, Oculus provided some funding in April 2018 for 6 months worth of work made up of 2 dev days per week. More funding will massively help developers devote time to this project. If you are able to support the Patreon it will be of massive help, the link is here.
Q. Where can I learn more about VRTK v4?
A. Please check out the Academy https://academy.vrtk.io/
Q. Is VRTK v4 broadly compatible with VRTK v3?
A. No, VRTK v4 is a complete rewrite, whilst some principles will be able to be applied, none of your scripts that interact with VRTK v3 will work out of the box with VRTK v4. It is worth noting, v4 and v3 can be used side by side, as v4 is rewritten from the ground up, it doesn't know about, or care about the existence of v3. This provides a potential upgrade path for some users.
Q. Why does VRTK v4 not have full documentation, samples, etc. and have various issues?
A. Right now, VRTK v4 is in beta, any new projects should use VRTK v4 as it represents the future direction and VRTK v3 will receive less and less support. That said, there are lots of rough edges which are being worked through right now. If you wish to help provide documentation (or view documentation being submitted by other users before it has made it to the official page) please go here.
Q. Does it mean that if V4 is in beta, is it buggy? Should I use V3?
A. As mentioned above, V4 is the future of VRTK and what will be getting the most support. No bugs are known in any shipped parts of the V4 code. If you do come across anything, please report the issue so it can be addressed. As with any project, making the bug report as useful as possible really helps. Right now, v4 is simply missing full documentation, samples, tutorials, etc. this is the case with most software projects!
What visibility is there for where the project is up to, what features are being added now, what is being planned, etc.?
A. The backlog, listing the status of issues current and planned can all be found here: https://github.com/orgs/ExtendRealityLtd/projects
Q. I receive errors about non-existent assembly 'Zinnia.Runtime' or similar.
A. VRTK v4 has a dependency on Zinnia, this dependency is specified in Git, you need to ensure you pull the sub-module too, there are instructions on how to do this here. When you update VRTK v4 (Git Pull) you should do the same on the dependencies (Zinnia).
Q. Does VRTK v4 support 3DOF headsets as well as 6DOF?
A. Yes, however, the camera rigs provided and the farm sample scene will currently only work with 6DOF headsets. The number of changes required to get 3DOF working is minimal and it is something that will be addressed ithe n future.
Q. Does VRTK v4 support grab zones?
A. Yes, you can see it in action here: https://twitter.com/The_StoneFox/status/1116722618038652928 and the Pull Request regarding it is here https://github.com/ExtendRealityLtd/Zinnia.Unity/pull/378
Q. Does VRTK support SteamVR 2.x plugin?*
A. VRTK v4 does support this, educational documentation will be available here.
VRTK v3 does not support this, it would require breaking changes and this is the reason the SteamVR plugin itself doesn't provide an upgrade option.
Q. Does VRTK support scriptable render pipelines (SRP)?
A. At the moment the SRP is not officially supported*. Here is how to make it work:
- A community fix to make the MomentProcessor work can be found here: https://gist.github.com/reznovVR/2c03b49276db4c87d1a04c5949a33c40
- Further shaders and materials used by VRTK v4 need to be converted (mainly to get the sample scene to work).
- There is a known issue with the camera fader script.
- There might be other issues that have not surfaced yet...
*Support is very likely further down the road
Q. Does VRTK v4 use Data-Oriented Tech Stack (DOTS)?
A. No, this methodology does not make sense for VRTK, however, Unity's DOTS implementation works alongside regular game objects so there is no issue using VRTK inside projects which make use of DOTS.
Q. Does VRTK v4 support Unity 2019?
A. The officially supported version is 2018.3 and this is what the developers of VRTK are using, that said, the project should work with 2019, you will however need to download the legacy XR stuff from the Unity Package Manager (UPM) as Unity moved it there in 2019.1.
Q. How do I handle changing levels/scenes with VRTK?
The two main options are:
- Ensure VRTK isn't referencing anything in the current scene before unloading, as a starting point, disabling LeftIteractor and RightInteractor before triggering unload (and then enabling when the new scene is loaded) will stop VRTK from keeping references to game objects via the collision system. Anything the user is interacting with from VRTK (for example picking up objects) will need to be handled by the user (initially working out what exact you wish to do in this scenario).
- Put everything to do with VRTK in each scene, so when you switch the scene, everything VRTK will be unloaded and then loaded again in the new scene. By doing this VRTK will not have any references to scene objects which no longer exist.
Q. When I grab an object and use it to hit other objects, it doesn't feel right. Can you help?
By default, when you grab something, it'll update the grabbed objects transform to reflect your hands. If you want things to have in a more physically correct manner, you'll want VRTK to instead use physics to move the object being grabbed. To do this, select your object and go to InteractionLogic -> Interactable.GrabLogic -> Actions -> PrimaryAction -> Interactable.GrabAction.FollowAction and change Follow Tracking to 'Follow Rigidbody'.
Q. Does VRTK v4 have built-in UI support?
A. No, whilst v3 did make it possible to interact with Unity UI, v4 does not support this. You can, of course, make UI out of 3D objects in the world utilising VRTK. There are various other projects/packages out there to help with UI, one example is CurvedUI . Please note, we do not specifically endorse this project, I have personally not used it, but it is an example of a project which can be used in conjunction with VRTK.
Q. How do I move/rotate the player in code?
A. Grab one of the teleporters in the scene, then call Teleport on it.
Q. After following the setup instructions, the example scene starts but doesn't show in the headset. What's up?
(Note: Check the console. This answer applies if it contains a warning "Package missing for Virtual Reality SDK OpenVR. Please add the OpenVR (Standalone) package using the Package Manager Window.".)
A. Go to Window -> Package Manager and install the "OpenVR (Desktop)" package.
Q. Is there a slack channel to get further help?
A. Yes, please visit http://invite.vrtk.io