Quest and Unity built-in XR vs XR Plugin - detecting Quest hands as XRDevice
Hi! I'm currently looking to update my project from using the Unity built-in XR system, moving over to the new XR plugin system. I'm using Unity 2019.3.13f1 with all the latest respective packages (as of this week).
With the current Unity built-in XR system, I can use the UnityEngine.XR.InputDevices.deviceConnected / deviceDisconnected callbacks, which will successfully indicate when a Touch device connects or disconnects. They also successfully respond with a device when a user's hand is detected - the device is still named "Oculus Quest Controller - (left/right)" but I can then query via the OVRPlugin to see whether the device is a Touch controller or a Hand using OVRPlugin.GetControllers().
After switching to the XR plugin system, I've found that I get callbacks for the Quest Touch controllers, but the callbacks don't fire for Hands - in fact, there's no XRDevice for the hands as far as Unity is concerned; UnityEngine.XR.InputDevices.GetDevices(...) only shows "Oculus Quest" (the HMD) as a device.
Is this expected behaviour, or have I missed a setting / config somewhere that should enable the hands to show up as a Unity XRDevice? As far as I can tell, everything else is the same as my (previously working) built-in XR system version, i.e. the manifest is the same, etc.
Any help you good folks can provide would be awesome.
With the current Unity built-in XR system, I can use the UnityEngine.XR.InputDevices.deviceConnected / deviceDisconnected callbacks, which will successfully indicate when a Touch device connects or disconnects. They also successfully respond with a device when a user's hand is detected - the device is still named "Oculus Quest Controller - (left/right)" but I can then query via the OVRPlugin to see whether the device is a Touch controller or a Hand using OVRPlugin.GetControllers().
After switching to the XR plugin system, I've found that I get callbacks for the Quest Touch controllers, but the callbacks don't fire for Hands - in fact, there's no XRDevice for the hands as far as Unity is concerned; UnityEngine.XR.InputDevices.GetDevices(...) only shows "Oculus Quest" (the HMD) as a device.
Is this expected behaviour, or have I missed a setting / config somewhere that should enable the hands to show up as a Unity XRDevice? As far as I can tell, everything else is the same as my (previously working) built-in XR system version, i.e. the manifest is the same, etc.
Any help you good folks can provide would be awesome.
