Enhanced Input - Controller Remapping ?

Hey all. I need your help. A while back I implemented Enhanced User Input in my game. Setting all the Input Actions accordingly. Back then I only gave the Input mapping for Keyboard keys. Now as I’m close to launch, I decided to add full controller support. So I added the usual mapping from gamepad buttons triggers etc. I had a lot of Input Actions so I made a few of them separate by holding down a button that’s designated for another action, to trigger something else entirely (like button X for reload but hold X for 3s to enable flashlight when on controller).

A few days back I implemented User settings Mapping, to let a user customise their keyboard bindings. It works perfectly. My issue is, how can I edit the code to now also support controller button remapping? Enhanced User Input is already new and there are no resources that directly apply to my case. I know it’s possible to do, I just don’t know how. I’m a little confused on how can I fetch gamepad bindings separately for the same Input Action without affecting Keyboard mapping.

TL;DR - How to combine Keyboard and Gamepad button mapping in Enhanced User Input to account for all changes, without any conflict with Keyboard settings.

Thanks for reading. Any advice is welcome.

exactly what I was looking for to handle Enhanced Input key rebinding in Unreal Engine without reinventing the wheel.
https://www.fab.com/listings/e8a77976-b4d4-4e8f-a4b4-c6a71a98554d

thats the same triggers/modifiers drop — the new mapping is created bare so everything except the FKey is lost. you have to copy them: get the old mapping’s Modifiers and Triggers arrays, build the new FEnhancedActionKeyMapping with those copied in, then pass its PlayerMappableOptions to Map Player Key. if you just call Map Key with only the key you get exactly that empty state.

advanced enhanced input key remapping Advanced Enhanced Input Key Remapping / Binding / Profiles / Local & Cloud Save. | Fab does that copy for you — it preserves modifiers/triggers and the mappable options in one node so rebinding doesnt strip the setup.