Search Unity

  1. Unity support for visionOS is now available. Learn more in our blog post.
    Dismiss Notice

Bug USB controller has dupe button Display Names and improperly registers input thusly

Discussion in 'Input System' started by Necronopticous, Nov 17, 2023.

  1. Necronopticous


    Jul 23, 2020
    Hi all, I have been working on a game in Unity for about three years and am on Version 2020.1.0f1.

    I noticed this issue early in the project but didn't feel that I had the familiarity with Unity to diagnose. I decided to take a look at it again yesterday and I'm still not quite sure what (if anything) I can do about it.

    Here's the Input Debugger pane for a Super Nintendo controller plugged in via an old USB adapter. I have confirmed that in Windows it recognizes perfectly, and I have used it to play plenty of PC games/emulated titles.

    I can see that the "Name" column of the debugger pane has unique names for each button on the controller, and they are all accounted for. The issue is that the "Display Name" column has dupes strewn throughout, and the input value is clearly using the Display Name field to determine the input fed to the game.

    If I press the B button for example, both value bits for button2 and button5 will be set, like so:

    Seemingly because they both share Display Name "Button 2"

    Where do these Display Names even come from? Is there a way I can configure or change this so that I can use this controller to play the game and ensure that other similar controllers will not have dupe labels causing these sorts of buggy input collisions?

    Any help would be greatly appreciated!