- Home /
Why don't the thumbsticks on my Oculus Quest 2 controllers give output?
My friend and I have been using Unity for a while, and thought we would mess around with some VR development. I am using the Oculus Quest 2 and he is using the Oculus Quest 1. Both of us are using link cables and developing in unity for pc with xr and openxr. In our game, everything that the controllers are meant to do works for him. This includes the joysticks, buttons, and triggers. But when I load the game the only things that work are the buttons and triggers, the joysticks/thumsticks are giving no output. Does anybody know why this is?
Are you using SteamVR? I had this problem with SteamVR but when I just use the Oculus app the sticks work fine. Also, I'm not sure if this is still the case but at the time a couple months ago in order to get the Oculus app to work with OpenXR I had to opt into the beta updates in the Oculus app. They may be out of beta by now but I'm not sure.
Answer by rh_galaxy · Feb 12, 2021 at 04:04 AM
I have no idea what is wrong but I use Quest2 and the new input system (2020.1.13f1) and this is my code.
UnityEngine.XR.InputDevice handRDevice = InputDevices.GetDeviceAtXRNode(XRNode.RightHand);
UnityEngine.XR.InputDevice handLDevice = InputDevices.GetDeviceAtXRNode(XRNode.LeftHand);
bool button1RSupported = handRDevice.TryGetFeatureValue(UnityEngine.XR.CommonUsages.primaryButton, out bool button1R);
bool stickRSupported = handRDevice.TryGetFeatureValue(UnityEngine.XR.CommonUsages.primary2DAxis, out Vector2 stickR);
bool button1LSupported = handLDevice.TryGetFeatureValue(UnityEngine.XR.CommonUsages.primaryButton, out bool button1L);
bool stickLSupported = handLDevice.TryGetFeatureValue(UnityEngine.XR.CommonUsages.primary2DAxis, out Vector2 stickL);
//use the info that we got
if (stickR.x > 0.5f || stickL.x > 0.5f) bRight = true;
if (stickR.x < -0.5f || stickL.x < -0.5f) bLeft = true;
Thanks for the answer! Unfortunately it doesn't seem like this is working either...