Question about xr plugin and input system and the relationship between them

I noticed that:

  • UnityEngine.InputSystem.InputDevice and UnityEngine.XR.InputDevice are not the same thing.
  • UnityEngine.InputSystem.XR.XRController.rightHand is null on Oculus Go (I’m still testing on further devices)
  • UnityEngine.XR.InputDevice belongs to the somekind of subsystem

Is there any further roadmap or document for the usage? will the so called “xr subsystem” migrate with “input system”? Or will these two stays saperately? Should we use UnityEngine.XR.InputDevice or UnityEngine.InputSystem.XR.XRController in further development?

Hello,

Here is a link to the documentation for the new Input System XR specific features: Unity - Manual: Unity XR Input

Looking at that doc and the code inside UnityEngine.XR.InputDevices ,
GetDevicesWithCharacteristics(InputDeviceCharacteristics desiredCharacteristics, List<InputDevice> inputDevices) seems to be the recommended way of accessing devices, along with GetDevicesAtXRNode(XRNode node, List<InputDevice> inputDevices)

InputDeviceCharacteristics.Right will filter out the InputDevice is associated with the right side of the user.

Check out this thread for some background on XR Inputs Any example of the new 2019.1 XR input system?

OK, I got it work, I misunderstood one thing: input system requires callback to get devices. It’s useless if I try to retrieve the device in the first awake/start process.

I’ll stick to Input System implementation instead of XR.InputDevices, because Input System is more universal and convenient for me.

howd that work out for ya?

I believe it is effective. I still usually use input system instead of XR.InputDevices
Donkey Kong