Search Unity

  1. Welcome to the Unity Forums! Please take the time to read our Code of Conduct to familiarize yourself with the forum rules and how to post constructively.
  2. Join us on March 30, 2023, between 5 am & 1 pm EST, in the Performance Profiling Dev Blitz Day 2023 - Q&A forum and Discord where you can connect with our teams behind the Memory and CPU Profilers.
    Dismiss Notice

Question Why doesn't InputTracking.GetNodeStates() return XRNode.HardwareTrackers anymore?

Discussion in 'VR' started by Charlicopter, Jan 18, 2023.

  1. Charlicopter

    Charlicopter

    Joined:
    May 15, 2017
    Posts:
    110
    InputTracking.GetNodeStates does not return states for Vive Trackers; it only returns controllers and the HMD.

    I have a library that was working before I implemented OpenXR and the New Input System.
    I used InputTracking.GetNodeStates(x) to parse through all the connected devices and sort them with an intake method in Update(). I wrote the library so that I can use heuristics to determine what role the Vive Tracker is supposed to be, instead of the "held in hands" / "feet" / "camera" assignments, etc. In my use case, the trackers can be attached in any order, and doesn't depend on making sure that each unique tracker is always associated with the same part of the body whenever they are turned on.

    Since implementing OpenXR and the New Input System, this has ceased to work.

    Is there anything on the horizon that will return this Vive Tracker capability to the UnityEngine.XR native libraries?
    It seems pretty central to the way things are supposed to work, but I'm a little nervous that the mechanism has been abandoned. I'm willing to wait, but I want to make sure I'm not waiting for something that will never come.
     
    Last edited: Jan 18, 2023