Modify binding with ingame menu ?

There is a way to modify key biding ingame ?
I create an interface to change keybinding ingame by the player.
There is a node to do that ? modify the input.ini ? listen the first player key input ?

Thanks

As far as I know it’s only available through C++ and apparently quite fiddly.

However Rama made one a bit ago and pretty much gives it away. You can just use that in your project!

[Full Project] Rama's UMG Rebindable Key System, Rebind keys at Runtime! - Programming & Scripting - Unreal Engine Forums!

I hope this helps.

Cheers

1 Like

Thank you @Erasio,
It is really interesting to see how Rama did that with C++ !
He propose a very good bundle !

So I’ve been fiddling around and I think I found a way to do this in BP alone. We handle all input in our player controller and we create a [key] and a [boolean] variable for each pawn action. Each key stores the key used for a specific action. Each boolean specifies whether its respective key is configurable at the current time. For example, if the user traverses the menu screen and hits a widget button to bind a key, the corresponding boolean would then be set to True. We then use the AnyKey event to read in the newly binded key. Finally, every frame we handle our input by checking which action keys are pressed. Here is a dummy example with a configurable key to make a pawn jump.

http://i.imgur.com/NdyKFJe.png

Instead of a menu screen, we simply make the key configurable when the spacebar is pressed. Nodes like WasInputKeyJustPressed, IsInputKeyDown, GetInputKeyTimeDown, GetInputAnalogKeyState, etc. can be used handle the input. This process is easily generalized to work with multiple actions (though it will probably need to be organized into separate functions).