Input Rebinding works with Gamepad but doesn't for Keyboard

Hello there!

I’ve been racking my brain over what seems to be a bug in Unity’s input system, though hopefully it’s just an oversight on my part. As the title says, I have implemented Unity’s Input Rebinding system, and although it works to rebind inputs from the controllers, it doesn’t work for the keyboard inputs.

And now comes the funniest part of the problem: there is actually one key on the keyboard that actually works, the Escape key. When the StartInteractiveBind is called and the InputSystem waits to receive an Input to remap it, the keyboard keys don’t seem to do anything (I tried absolutely all of them, even the F keys) except for the Escape.

(In this GIF I am pressing keys the whole time after clicking the rebind button and the moment I press Escape it gets mapped, but all the before pressed keys didn’t…)

I’ve made a lot of troubleshooting already. I tried to disable all the PlayerInput control schemes on starting rebind and enabling them back after to make sure actions were disabled, also tried to duplicate the PlayerInput asset and remove the Gamepad control scheme, leaving only the Keyboard one (no success), and all looks good in the Input Debugger.

I am pretty sure the issue is with my PlayerInput asset, cause the PlayerInput asset in the Unity RebindUI sample folder works perfectly even in the rebind interface from my scene. But if the issue is this, what can be causing it? I’ve checked my PlayerInput asset multiple times already and I don’t see anything wrong…

Do you have any idea what I might be missing? Thanks for reading it in advance!

By the way! I also wanted to share a screenshot of my RebindActionUI script

There is no exception in the RebindOperation that blocks keyboard inputs. Debugging, I have been able to confirm that neither OnComplete nor OnCancel is called with any keyboard key except for Escape, which calls OnComplete and rebinds correctly.

Is there any way to change the label of this post from Conversation to Bug? Or can I manually close it to create another post with the correct label?

Been trying many other things to solve this and yet no success… I’m starting to believe, it might be a Unity bug?

Thanks!