Search Unity

Will the new input system use a better input backend

Discussion in 'Input System' started by oxysofts, Oct 15, 2016.

  1. oxysofts

    oxysofts

    Joined:
    Dec 17, 2015
    Posts:
    124
    Hi, apologies if this has been answered before but the current input backend which is xinput I believe is terrible and outdated; there's a bunch of controllers it does not work well with or simply does not recognize at all. DInput is far superior and seems detects any controller you throw at it. Inputs may be mapped wrong but that's totally fine, games should have input remapping in the options anyway.

    For example, I have a gamecube controller that I plug into my computer using a mayflash adapter set to PC mode. Windows detects it just as any other generic controller and I can map my inputs perfectly fine in games and softwares that use DInput as the backend, whereas many games using XInput will not work well with anything but a xbox controller. I cannot use it to develop my games in Unity either because it screws up analog axes, buttons are alright from what I can recall however.
     
  2. Rene-Damm

    Rene-Damm

    Joined:
    Sep 15, 2012
    Posts:
    1,779
    Yup valid point :)

    For Xbox and Xbox-like controllers, XInput is a rather great API that has brought a lot of simplicity and compatibility for handling those controllers.

    However, I think you're entirely right that for things that are *not* Xbox and Xbox-like controllers, XInput is not a good substitute for DirectInput. And Microsoft's stance of deprecating (and stopping any evolving of) DirectInput in favor of XInput has left a hole here.

    For the new input system that is in the works, the plan is to revisit this as part of getting better support for non-gamepad input devices on Windows. ATM we only have XInput controller support but there's plenty of more complex devices (wheels, flightsticks, etc) we want to support.

    For now, the only concrete thing I can offer, though, is saying we hear you and it's on the list.