DPad not working on SteamDeck (using New Input System)

Hello,

I am using Unity 2022.3.41 and the New Input System. Controller support works fine on all platforms, including SteamDeck, except for one specific issue: the D-Pad does not work at all on SteamDeck. All other controls work fine.

I have Steamworks .NET set up with the correct app ID. In SteamworksApplicationSteam Input, I set the Default Configuration to Generic Gamepad.

Has anyone else encountered this issue and know how to fix it?

Percy

Is this just for UI navigation or in general?

I was having issues with it not working for UI navigation when testing my game on my Steam Deck as well. Changing the action type for ‘Navigate’ from Pass-Through to Value seemed to fix it.

Though the system started having a winge and would start printing warnings for it, saying Pass-through is required for UI navigation to work… but seemed fine to me. Changing the name of the Action Map from ‘UI’ to something like ‘UserInterface’ then shut it up.

2 Likes

Thank you sooo much! This worked!

1 Like

I’ve noticed this too. Is there any word from the Input team why this is happening? I don’t understand what would be different about the Steam deck’s dpad compared to any other gamepad.

I submitted a bug report and they confirmed the issue. Hopefully, they fix it soon. Until then, I would just change the action type for ‘Navigate’ from Pass-Through to Value like spiney199 suggested. That worked for me.

1 Like

I am having this same issue with D-pad UI navigation on Steam Deck. Works fine for the left stick but only picks a few random presses of the D-pad (1 of each 15 aprox).

I’ve tried everything:

setting Navigate Action Type to Value.
scaled Navigate Vector2 to 1000.
tried Navigate Mode DigitalNormalized / Digital / Analog.
updating Input System up to 1.14 (tried 1.11 and 1.12 too).
configured Steam to disable Steam Input and tried with several Proton versions.
disabled every other input of UI Navigation (keyboard, joystick and Gamepad)

My only hope at this point is somehow overriding the Input system navigation logic with my own. This input profile works fine on multiple gamepads on PC and Switch, but in the Steam Deck struggles for some reason.

@silva_raptor Did you find a solution for this? I am currently having the same issue.

I’m also having the same issue, so hopefully someone can find a solution

EDIT: I found the issue tracker at Unity Issue Tracker - [Linux] D-Pad is either not working or sometimes working when UI->Navigation is set to "Pass Through" in Input Actions and saw that it should be fixed in 6000.2.9f1, so I’m updating to that version now

1 Like

Can confirm that the issue is fixed for me after updating to the latest version of Unity 6.

2 Likes