The key rebinding system uses the Enhanced Input system offered as default in Unreal Engine 5.1+ as the old system has been deprecated If you are still using the legacy input system, you will need to convert your inputs to this new system. You can check out Unreal’s documentation to get started with that
Enhanced Input in Unreal Engine
An example of an Enhanced Input setup is available in the folder EasyGameUI/DemoContent/Inputs with the inputs being used in the BP_DemoMainCharacter
Once done, you should have an Input Mapping Context with all your inputs like this example one

You now need to setup the settings for all the rebindable keys with the following instructions based on your engine version
For Unreal Engine 5.1/5.2
Is Player MappableSet this to True if you want the key to appear in the menuNameMust be a fully unique name to describe the key. This name has no real importance for you but it must be uniqueDisplay NameThe name you wish to display to the player, you can reuse the same text as other keys for this one, only one keyboard/mouse and one gamepad key can share the same name to be displayed togetherDisplay CategoryIf choosing to sort by key category inside the Global Config, this will be the category under which the key will be displayed
For Unreal Engine 5.3+
Setting BehaviorShould be set to “Override Settings” if the key need to be rebindable, “Ignore Settings” if notPlayer Mappable Key SettingsSet this to “Player Mappable Key Settings”NameMust be a fully unique name to describe the key. This name has no real importance for you but it must be uniqueDisplay NameThe name you wish to display to the player, you can reuse the same text as other keys for this one, only one keyboard/mouse and one gamepad key can share the same name to be displayed togetherDisplay CategoryIf choosing to sort by key category inside the Global Config, this will be the category under which the key will be displayed- You can ignore any settings that I did not mention
If you didn’t do it before, you now need to configure the mapping contexts inside the Global Config for them to show up inside the menu → Keybinding Mapping Contexts
To do that, open your Global Config Data Asset. You will then find the relevant settings under the Options Menu section

Keybinding Mapping Contexts
The list of mapping contexts that contain the inputs that should be rebindable by the player in the Options Menu. More details on how to setup these input mapping contexts are given in the section dedicated to the Options Menu. The text will be used as category name if grouping by Mapping Context (see variable just below)
Keybinding Mappings Grouping Type
Define how the keybindings will be groupped inside the options menu.
Group by Mapping Context Will group all the keybinds under a category defined in the previous variableGroup by Input Category Will group all the keybinds by the key’s Display Category defined inside the input mapping context, regardless of its original mapping context
Note that the key conflict management will only handle keys within the same mapping context, if grouping them by Input Category, this system will still work but could cause some confusions for the userAll your keys should now appear inside the options menu “Controls” tab!
If while trying to rebind a key you see an error like the following, it means that you are trying to rebind a key that is already used by another input action that is not set as rebindable.

If you encounter this error while it should not (you don’t have a potentially conflicting input action that is not rebindable), then try to delete the temporary folders of your project (DerivedDataCache, Intermediate, Plateforms, Saved) and restart it
If you still encounter this issue, please contact me so that I can help you sort this out
<aside> <img src="/icons/compass_gray.svg" alt="/icons/compass_gray.svg" width="40px" />
NAVIGATION
</aside>