IVRSystem::GetControllerState is no longer auto-switching vive tracker from GenericTracker to Controller.
We only uses two Vive Trackers as hardware. Previously, calling IVRSystem::GetControllerState would cause the system to automatically switch TrackedDeviceClass from GenericTracker to Controller and read the input state. Since the we does not have a headset, we cannot access the "manage Vive Tracker" settings to manually set up the tracker role.
OS: Windows 11
STEPS: 1.Initialize VR system using OpenVR. 2.Get k_unMaxTrackedDeviceCount. 3.Loop through devices. 4.Use IVRSystem::GetControllerState to read out Vive Tracker input state. --4.1. On the first call, the system identifies the device as a GenericTracker and reads out nothing. --4.2. On the second call, the DeviceType automatically switch to Controller and read out the input state successfully.
RESULTS: The Vive Tracker remains stuck at the GenericTracker TrackedDeviceClass, using a different rotation, and cannot read out input state.
EXPECTED: To simply use OpenVR to read out the Vive Tracker input state without having an HMD or complicated SteamVR settings.