Yuuki Ishimaru Posted September 23, 2022 Share Posted September 23, 2022 After upgrading to VIU 1.17 I cannot get Vive Tracker input, even though the role has been assigned, the Shift-B assignment has been done, and I can see that the tracker's input is triggering as expected in the SteamVR Test Controller UI. Further, all other input pins are registered as expected. Unity version is 2020.1.3f1. The configurations are set to build for windows, using the Vive and Vive Pro. The project also has the Wave package as we also target the Focus 3, testing with it disabled in VIUSettings did not change the results I have tried reverting to VIU 1.16, and 1.12 but neither worked. Link to comment Share on other sites More sharing options...
Yuuki Ishimaru Posted September 23, 2022 Author Share Posted September 23, 2022 Note: In SteamVRv2Module.cs, adding a print statement for action states (UpdateDeviceInput -> first foreach loop) it seems like the input is being registered and IVRModuleDeviceStateRW's value for VRModuleRawButton.Touchpad/ VRModuleRawButton.Axis0 is being set to TRUE when connected as expected. As for why this information isn't propagating to the API I have no idea. I am checking the state through the API using ViveInput.GetPressEx(TrackerRole.Tracker1, ControllerButton.Pad) in the update loop. Link to comment Share on other sites More sharing options...
VIVE_chengnay Posted September 25, 2022 Share Posted September 25, 2022 Hi @Yuuki Ishimaru, May I know what's the version of plugins(SteamVR Unity Plugin... etc) that you installed in your project? And, you mentioned after you upgraded to VIU v1.17.0 then it didn't work for TouchPad. But later on you also tried reverting and it didn't work either. Did you try to restart your SteamVR? Link to comment Share on other sites More sharing options...
Yuuki Ishimaru Posted September 26, 2022 Author Share Posted September 26, 2022 @chengnay SteamVR Unity Plugin v2.7.2 (SDK 1.14.15), SteamVR is 1.13.9 offline stable release. I also tested it with the most recent SteamVR plugin and executable, but had no luck. I did try restarting SteamVR multiple times, as well as the whole headset. Judging by the specific code issue I listed in my earlier comment, is this not an API problem? Link to comment Share on other sites More sharing options...
Yuuki Ishimaru Posted September 26, 2022 Author Share Posted September 26, 2022 @chengnay as a test I set up a new project with the same Unity version, with VIU and SteamVR updated to the most recent versions, and everything but the pad was detected. I used the following to check if it was triggered: var state = ViveInput.GetState(TrackerRole.Tracker1); print(state.LastPressDownTime(ControllerButton.Grip) + " " + state.LastPressDownTime(ControllerButton.Trigger) + " " + state.PreviousButtonPressed + " " + state.CurrentButtonPressed); print(state.GetPadAxis() + " " + state.GetAxis(ControllerAxis.PadX) + " " + state.GetAxis(ControllerAxis.PadY) + " " + state.PadPressAxis + " " + state.PadTouchAxis); if (ViveInput.GetPressEx(TrackerRole.Tracker1, ControllerButton.Pad)) Debug.Log("Pad Pressed"); if (ViveInput.GetPressEx(TrackerRole.Tracker1, ControllerButton.Trigger)) Debug.Log("Trigger Pressed"); Of these, I was able to get nonzero values of LastPressDownTime for Trigger and Grip, was able to see the PreviousButtonPressed and CurrentButtonPressed change with non-pad inputs, and saw "Trigger Pressed" when those pins were connected. Link to comment Share on other sites More sharing options...
Yuuki Ishimaru Posted September 26, 2022 Author Share Posted September 26, 2022 Update: I have a temporary fix in place, where I route the input of VRModuleRawButton.Axis0 through VRModuleRawButton.A (a button that doesn't exist on trackers) and using GetPressEx(TrackerRole.Tracker1, ControllerButton.AKey) works as desired. However I'd still like to use VRModuleRawButton.Axis0/Pad as the current workaround is hacky Link to comment Share on other sites More sharing options...
Yuuki Ishimaru Posted September 26, 2022 Author Share Posted September 26, 2022 Another update, I found the issue within the API, put my fix in the GitHub thread for this issue: https://github.com/ViveSoftware/ViveInputUtility-Unity/issues/239 Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now