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?
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.
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.