Search Unity

  1. Megacity Metro Demo now available. Download now.
    Dismiss Notice
  2. Unity support for visionOS is now available. Learn more in our blog post.
    Dismiss Notice

XR Input System Missing Functionality

Discussion in 'AR/VR (XR) Discussion' started by nocanwin, Jan 25, 2020.

  1. nocanwin

    nocanwin

    Joined:
    May 7, 2009
    Posts:
    176
    I can't get trigger values from hardware trackers even though the vive trackers have that functionality via their pogo pins. Is there a reason why this is missing or should it work? I ran TryGetFeatureUsage on the hardware tracker input device and it didn't return trigger so I'm guessing it wasn't implemented. I'd like to switch to using the XR input system but this is stopping me. We run 4 trackers at the same time, each with custom hardware and I need to get trigger input from them.

    Any chance we can get this @StayTalm_Unity or @Matt_D_work? or am I missing something?

    Thanks!
     
  2. Matt_D_work

    Matt_D_work

    Unity Technologies

    Joined:
    Nov 30, 2016
    Posts:
    202
    Do you get any button data from any of the trackers? Are you also running 2 controllers?
    Do you get any button data if you turn off one of the controllers?
     
  3. nocanwin

    nocanwin

    Joined:
    May 7, 2009
    Posts:
    176
    I'll double check on Monday, but I believe I only get button data from 2 trackers when not running controllers. If I run controllers I get no button data from the trackers. We need to run controllers and get button data for 4 trackers. Maybe even more in the future.

    This is the same behavior I see with SteamVR, but I'm able to hand edit the generated .json binding files so trackers with non-handed roles will fire actions.
     
    Last edited: Jan 26, 2020
  4. nocanwin

    nocanwin

    Joined:
    May 7, 2009
    Posts:
    176
    hmmm... I don't get any button data from trackers even if I'm not running controllers. Maybe I remembered incorrectly that I ever got any button presses with them and XR.

    If I check the feature usages when the tracker connects I only get

    DevicePosition
    DeviceRotation
    DeviceVelocity
    DeviceAngularVelocity
    TrackingState
    IsTracked

    I'm on Unity 2019.2.11f1 & SteamVR 1.9.16

    I have my workaround using the hand edited SteamVR bindings, but it would be nice to have this working in Unity XR. I know there are a couple of devs out there who need the same feature.
     
    Last edited: Jan 28, 2020
  5. StayTalm_Unity

    StayTalm_Unity

    Unity Technologies

    Joined:
    May 3, 2017
    Posts:
    182
    This is known and part of how SteamVR handles controllers.

    Steam implemented a remapping system a while back that let's you change which buttons map where for different games. In the remapping system, the trackers do not actually have any buttons, but they can fake button inputs when they the existing controller nodes are remapped to the trackers. However, if 2 controllers are plugged in, there are no more controller slots to fake, so the remaining Trackers act as pure trackers, with no buttons.

    Since this is an issue with Steam's remapping, there is no easy way for us to work around it, and is something you will need to take up with Valve, sorry.
     
  6. nocanwin

    nocanwin

    Joined:
    May 7, 2009
    Posts:
    176
    Yeah, I've brought it up with them, but they don't want to to take the time to fix something they broke. Oh well, at least I can get it to work with custom binding files.
     
  7. StayTalm_Unity

    StayTalm_Unity

    Unity Technologies

    Joined:
    May 3, 2017
    Posts:
    182
    Sorry, It's pretty unfortunate. We've made requests to at least get access to that data, but since we are the man in the middle, if we can't read it ourselves, we can't expose it. This is an issue across a few features since Valve moved to SteamVR 2.0.
     
  8. nocanwin

    nocanwin

    Joined:
    May 7, 2009
    Posts:
    176
    I'll try and bother them again and see if they'll expose it. Thanks.