Search Unity

New Input System Knuckles Support?

Discussion in 'Input System' started by jtslade, Jan 10, 2019.

  1. jtslade

    jtslade

    Joined:
    Jan 10, 2019
    Posts:
    2
    Is there a timeframe for the new native input system of unity to support the Valve Knuckles controllers?

    TY!

    Sorry if this has already been asked to death.
     
  2. Rene-Damm

    Rene-Damm

    Joined:
    Sep 15, 2012
    Posts:
    1,779
    Should be working. We have a number of issues around XR so there may still be problems. But the support is there.
     
  3. jtslade

    jtslade

    Joined:
    Jan 10, 2019
    Posts:
    2
    Is there a beta update that will have more support? A dev I know for Blade and Sorcery mentioned he was waiting on it to come out for Knuckles support. TY!
     
  4. StayTalm_Unity

    StayTalm_Unity

    Unity Technologies

    Joined:
    May 3, 2017
    Posts:
    182
    Hello,
    I was looking at Knuckles just on friday. Sadly, support will be a while. The latest Knuckles EV3 models are no longer reporting a number of input features the old OpenVR APIs, and so it's going to have to wait till we update our OpenVR backend to the SteamVRInput 2.0 version, which is on our roadmap, but not immediate. I'm taking them out of the New Input System device layouts for now until we can get them integrated fully.
     
  5. KospY

    KospY

    Joined:
    May 12, 2014
    Posts:
    153
    What is the rough estimate for the OpenVR backend update?
    I'm not asking for a precise date, but something like 1-2 months, mid-2019 or late-2019 will be good enough.
    Thx!

    @StayTalm_Unity
    I just saw your last pull request on Github, thank for all that VR fixes!
    Really happy that haptics has been fixed :)
     
  6. StayTalm_Unity

    StayTalm_Unity

    Unity Technologies

    Joined:
    May 3, 2017
    Posts:
    182
    @KospY
    Yeah that PR has been a long time delayed, glad to finally clear out a lot of small glitches.
    As for the OpenVR backend update, I am not doing the planning (or implementing) on that one, but I'm thinking more mide-late 2019. The new SteamVR is a very different style of input handling, and is going to take some time to make sure we do it right. It's going to end up being an action based system underneath an action based system, and we don't want to make it too confusing or awkward.
     
  7. KospY

    KospY

    Joined:
    May 12, 2014
    Posts:
    153
  8. StayTalm_Unity

    StayTalm_Unity

    Unity Technologies

    Joined:
    May 3, 2017
    Posts:
    182
    Hey @KospY

    We got in touch with Valve and did a check on what was available in Steam VR Input 1.x.
    There are some native backend changes going into 2018.3 and onward that will at least present everything that Steam gives us. I can give you the actual Unity versions this will land in a few days (it's still enroute).
    The new input system PR side of it is here: https://github.com/Unity-Technologies/InputSystem/pull/503/files

    You'll notice it doesn't have a grip or finger axes. These do not come in through the Steam VR Input 1.x. The second thing that occurs, is that both the touchpad and the joystick are mapped to the same 2-dimensional axis.
    These are both things we are stuck with, because we don't get that data from the OpenVR backend.

    If you want to see it in basic action, you can take the changes in that Input System PR, and you should see everything working even in current 2018.3+, with the exception of a few complications between 'GripButton', and 'AlternateButton'. Upcoming versions of 2018.3+ will fix this.
     
  9. peaj_metric

    peaj_metric

    Joined:
    Sep 15, 2014
    Posts:
    146
    Any news on support for Steam VR Input 2.0.
    We would really love using the new input system for our upcoming VR projects and this seems to be the last blocker for us.
     
    Sb86 and Shizola like this.
  10. ege1995taskent

    ege1995taskent

    Joined:
    Dec 23, 2018
    Posts:
    1
    Hi, I was wondering if this has been fixed.

    I just bought index controllers and i cant get the A buttons to work for the life of me. It does grip and even if i add new unity button ids it is not responsive. I would appreciate any kind of help.
     
  11. Iron-Warrior

    Iron-Warrior

    Joined:
    Nov 3, 2009
    Posts:
    838
    Wondering if there is any information anywhere that says what the state is for Knuckles. I'd like to send a build of my project out to Knuckles users (we don't have them), and it would be good to know what I can expect should work.
     
  12. Wolfo

    Wolfo

    Joined:
    Nov 3, 2019
    Posts:
    9
    I've somehow forced the Input System to recognize the Valve Index controllers briefly

    upload_2020-1-17_9-56-31.png

    Although that's all I managed to map. Is there no way to obtain other controller data through the new Input System? I'd like to avoid having SteamVR 2.0 SDK in order to keep the application compatible on all platforms.
     
  13. Iron-Warrior

    Iron-Warrior

    Joined:
    Nov 3, 2009
    Posts:
    838
    I did some testing remotely (I don't have Knuckles locally) using a scene that prints out all available inputs.



    Fun. I was able to get the alternate button and joystickorpadpressed to register...but they don't actually fire events correctly, so you'd need to read them manually and construct your own press detection. Would be so nice to have this working, so many Indexes out there now.
     
  14. Wolfo

    Wolfo

    Joined:
    Nov 3, 2019
    Posts:
    9
    Wait, how did you access all those commands? When I look for "Knuckles" on the Input System it shows up nothing at all.

    I managed to access that particular value completely randomly, can't even replicate it now :(
     
  15. Iron-Warrior

    Iron-Warrior

    Joined:
    Nov 3, 2009
    Posts:
    838
    You can access all of the controls available (from Unity's PoV) via:
    var controller = XRController.rightHand
    (or leftHand) to get a reference to the controller. Then you can iterate through
    controller.allControls
    , casting where appropriate to the following classes:

    Code (CSharp):
    1. ButtonControl
    2. AxisControl
    3. Vector3Control
    4. Vector2Control
    ...and so on. Each control class has values to check if they're active or not. If you have Knuckles connected, while you can see some of their inputs available in the input actions window, Unity does not have a class yet available for the Knuckles, and the controllers are instantiated as generic XRControllers, and events for the inputs are not fired.

    ..speaking of which, would be interested if @Rene-Damm had any info about this. My other option right now is to just right a custom input handler for Knuckles only, then toss it out when support (hopefully) arrives. But if support is gonna come soon I'd rather avoid that entirely.
     
  16. peaj_metric

    peaj_metric

    Joined:
    Sep 15, 2014
    Posts:
    146
    As far as I know there is no way to obtain separate button inputs for the additional buttons of the index controllers (which were not available on vive wands) without OpenVR 2.0. This is why they neither work with the old input system (with Steam VR 1.0) nor with the new one (e.g. A is the same as Grab).
    It also seems like the new XR interaction SDK isn't compatible with the new input system either.
    This is getting really confusing.
    @Iron-Warrior a custom input handler would certainly be interesting if index integration will take much longer.
     
    ROBYER1 likes this.
  17. Iron-Warrior

    Iron-Warrior

    Joined:
    Nov 3, 2009
    Posts:
    838
    Ended up just wrapping all the input functions in a class, and then extending that class with knuckles-specific functionality (using the method above) for when knuckles are present. It didn't actually take too long, and should tide my project over for the time being. Note that this only gives access to some of the buttons on the controllers, but we don't use a whole lot for our game.
     
    ROBYER1 likes this.
  18. Wolfo

    Wolfo

    Joined:
    Nov 3, 2019
    Posts:
    9
    Will there ever be knuckles input on Unity's (new) Input System?
     
    Last edited: Jan 30, 2020
    TailsUp4Tyranno and JoeStrout like this.