I checked all over the web for a solution to this, and all I can find are some partial answers or a redirection to a pluggin which I do not wish to use (Rama’s pluggin). Not that I don’t like pluggins, but I would like to make my project as “pure” as possible.
My point being: rebinding controls are one of the most common feature in games and production software. I’ve seen games being smashed by critics for their lack on rebindable keys on PC, even on small indie titles. Yet, while being such an important feature for players, it seems completely overlooked inside Unreal.
I think the Axis and Action mappings are great, being able to bind an action instead of a key allows for flexibility, but right now, this system is really barebones.
I believe controls should be on the controller level, way more than on the project level, as different things will have different controls (i.e., a vehicle like an helicopter won’t really have a “MoveForward”, tho we can use the same Axis for another control). However, I know this point would require a lot of changes, so I’m not going to go on that further.
The real thing that I would want would be a blueprint node that allows adding or changing a set key on an Axis or Action mapping. I could just say “Change my current key (0 on the array, which is W) to Z because I’m using a french keyboard” via an options menu which could be designed with UMG.
If this is not a thing, I will have to make my own player controller with custom events and keybindings through very weird and inconvenient manipulation.
I don’t think controls should be so hard to rebind, but then again, there must be a reason why it hasn’t been done. Then again, I can’t find the reason anywhere. Nor did I find it on the roadmap of things to do in the future, which I find rather alarming.
I love the engine, and I hate feeling that something is missing from something amazing.
Thanks for reading!
PS: If there is a solution and I missed it after days of searching, well I’m sorry!