Supporting multiple input control schemes

Is there an “unreal” way to handle supporting multiple control(ler) schemes?

For instance, on one control scheme, we want the A button to jump and B button to swipe.
In another control scheme, we want A button to swipe and B button to jump.

As it is now, it appears the engine is set up to have one control scheme. I can imagine a way to hack around this, but rather adhere to a previously designed method.


Currently wondering about this as well!

so i never found anything related to this. we ended up building our own system.

the approach we ended up with is creating a ControllerConfigManager that pulls data from a “ControllerConfig.ini” file. Inside that file would be perobjectconfig of UControllerConfig that contains Axis, Action, Mappings, etc. and anything additional that you would want. You would have to update the .ini file by hand - no editor ui.

then when you have a selected config (perhaps via UI options or what have you), you would replace/copy over the PC->PlayerInput mappings with the config ones.

hope this helps and isn’t too confusing. let me know if you have further questions

After the 4.26 update Unreal added the “Enhanced Input” plugin which give us the possibility to create many diferent input schemes, configure for them many different actions for a single button (hold, pressed, released, negate, etc) and easily change those schemes. Really cool! Unity has something equal and I really missed that.

Doc for C++: Enhanced Input | Unreal Engine Documentation