Search Unity

New InputSystem and Console Integration

Discussion in 'Input System' started by KazenoZ, Dec 31, 2018.

  1. KazenoZ

    KazenoZ

    Joined:
    Jan 24, 2015
    Posts:
    8
    So the new system is looking very promising, and after having to go through defining inputs for 4 players for each button for each console, we'd like nothing better than to be able to jump right into it as a replacement for using the current Input System in our game.

    However, our game is targeted at console releases, and I haven't been able to find any information about integration of the new system with the Nintendo Switch, Xbox One and PS4 APIs.

    I understand that you can't discuss specific details of this due to NDAs, but is it possible to ask if making the switch to the new system is even feasible for console developers at this point?

    Thanks

    Edit:
    Let me be more specific actually.
    Currently in the available control schemes, you can find XboxOneGamepad, PS4DualShockGamepad and PS4MoveController, are these tied to the official APIs?
    And what about the Switch Joycons, specifically the fact that there are multiple control schemes for the Switch alone?
     
    Last edited: Dec 31, 2018
  2. Rene-Damm

    Rene-Damm

    Joined:
    Sep 15, 2012
    Posts:
    1,779
    Short version: We plan to have full support for PS4, Xbox, and Switch for our 1.0-preview release planned for March.

    Long version: We have working backends for PS4, Xbox, and Switch but there are likely still holes. PS4 and Xbox gamepad support should be pretty usable with 2018.3 as is. PS4DualShockGamepad and XboxOneGamepad are indeed tied to the official APIs and surface PS4 and Xbox specific information.

    Switch support is likely the one that still needs the most work. We don't yet have good support for the different controller configurations, for example. There's a chance that our Switch support in 1.0-preview will be relatively basic but it'll get there. Basic Switch gamepad functionality should be in place at this point.

    Overall, consoles are among our primary focus platforms and we've been working on the backends for them from day 1. Our goal is to have the system in ship-worthy state on consoles performance and functionality wise when 1.0-preview hits.
     
    Seb-1814, recursive, Peter77 and 2 others like this.
  3. hippocoder

    hippocoder

    Digital Ape

    Joined:
    Apr 11, 2010
    Posts:
    29,723
    Looking forward to it! Thanks for the work. And shouldn't you still be on holiday? :p
     
    Rene-Damm and Peter77 like this.
  4. KazenoZ

    KazenoZ

    Joined:
    Jan 24, 2015
    Posts:
    8
    That's great to hear, thanks for the information.

    So for now transitioning is still too early for us, but it's we wrote our input code with pluggability in mind, so I'm looking forward to the 1.0-preview release, we'll definitely look into it when it's available :)

    Keep up the good work!
     
  5. gegagome

    gegagome

    Joined:
    Oct 11, 2012
    Posts:
    392
    Hi guys

    I am using 0.2 and I am having trouble hooking up an xbox one and xbox 360 controller.

    I already bound movement action using the keyboard and it works great but not so using these xbox controllers

    I am testing on my Mac though, should it work in the editor using xbox controllers?

    The one I am working with is the movement action.

    Any ideas?
     

    Attached Files:

  6. gegagome

    gegagome

    Joined:
    Oct 11, 2012
    Posts:
    392
    Hi @Rene-Damm Just got 2018.3.6 and even thought the Input Debugger recognizes both my xbox 360 and one controllers nothing that I bind in the Input Controller works.

    I do have the keyboard bound to the same events and it works fine but again not for xbox controllers, or even bluetooth gamepads.

    Thanks
     
  7. Rene-Damm

    Rene-Damm

    Joined:
    Sep 15, 2012
    Posts:
    1,779
    Sorry for the massive lag here...

    So that part is still quite confusing and we need to make it clearer what those individual devices represent and it needs to be much more obvious which is the one you're looking for. It's come up a couple times. I've filed a ticket here. Overall, the root of the problem is that the system ATM works straight off of its internal database of devices -- which ATM is mostly geared towards technical and interface requirements rather than clarity in presentation.

    Anyway, the XboxOneController is actually *only* used on Xbox One. So on the Mac, bindings to it won't have an effect.

    In general, except if you're really interested in a control that is only present on a specific controller, I would advise binding to the "abstract" base layouts. I.e. Gamepad in this case. Or XInputController if you really want to restrict it to just Xbox controllers.

    I assume this is why the keyboard bindings are catching but the controller bindings aren't.