Hand controllers not detected when using Quest 2 in Unity 2020.1.6f1

I’m using the Oculus XR plugin version 1.4.3, XR Interaction Toolkit version 0.10.0, and XR Plugin Management version 3.2.16 (I can NOT use version 3.2.17 of that, as it creates compile errors - see https://forum.unity.com/threads/err…-a-definition-for-getbuildtargetname.1043530/ ), in Unity 2020.1.6f1 (I want to use a LTS version of Unity 2020, but there isn’t one, but I can update to the latest version of 2020.1 if that solves the problem). My headset is the Quest 2, connected via Link cable. When I right-click in the Heirarchy and select XR > Roomscale XR Rig, it does add a setup that tracks the headset. However, it does not track the hand controllers - and even if I add a cube as a child of the controllers just to ensure I have a visual, those cubes never move, and instantiate at the default location. So, for whatever reason, there doesn’t seem to be any integration of the controllers with the latest plugin setup that works. I got some warnings about my Player Settings and inputs, but when I followed the suggestions from those warnings and switched to the “old” inputs, I got more warnings about not having backend assets, and when running I get the error “InvalidOperationException: You are trying to read Input using the UnityEngine.Input class, but you have switched active Input handling to Input System package in Player Settings.” in the console.

Considering that the controllers are required for all Oculus games, and are a critical part of any VR experience… is this some kind of bug that everyone knows about, or is it only on my system?

What asset should I use to get a VR setup that “just works”, at least for something I can import into the sample scene? I just want this to work - it worked a few years ago with the original Rift, but it looks as though everything has fallen apart. I can’t even find guides that are up-to-date and possible to follow.

1 Like

Does the controller gameobject have the controller script on it?

So, sounds like you’re not using the new input system which the current demos use. you need to set the Project Settings → Player → Input System to either “new” or “both” .

the error message “InvalidOperationException: You are trying to read Input using the UnityEngine.Input class, but you have switched active Input handling to Input System package in Player Settings.” indicates that you have this set to “old”

The best place to start is by grabbing the example git repo and using the example projects as a kickoff point as those will work directly out of the box. GitHub - Unity-Technologies/XR-Interaction-Toolkit-Examples: This repository contains various examples to use with the XR Interaction Toolkit