I am posting here with great hope as I was unable to find any solution to this, even though this is something quite usual on video games.
While playing, I want to remap an action to a key with a Chorded action trigger. I found where to set that in the IMC (+ Trigger > Chorded Action > Set the desired trigger). But I am completely unable to do it while playing.
For instance, if pressing “S” shoots, I want to be able to bind it to “Alt + S” or “Ctrl + S” while playing.
I am using an Input Key Selector widget which is perfect for that since it captures the triggers and has a Chord structure as an output, however the “Map key” node has a Key structure input, which does not accept Chord structure (see visual example below).
This set-up works perfectly fine for simple key rebinding (from S to K for example) but there is no way I could link the “Shift / Ctrl / Alt” Booleans to the “To key” input from the “Map key” node.
Any help would be greatly appreciated since I’ve been spending hours trying to find a solution online, in vain.
I would indeed prefer to change the chorded keys (if possible) directly in the IMC. I guess a workaround with booleans and branchs could work, but I feel like it’s not really dynamic.
By that, I mean with this solution it requires to add a “If shift key is set as a Trigger” then “If alt key is set as a Trigger then” etc, in front of every single action performed by the character. And from what I understand, that means having 3 variables (shift / alt / ctrl is set as trigger) multiplied by the number of actions the character can do ? That makes so many variables.
nah you just put it in a macro and can reuse it everywhere
but was just an idea, i tried the chorded system but had problems with it, like both events fired S an alt-S so i gave up, maybe its been updated since then
Could you provide a very simple BP example of how you would allow a player to change from S to Alt + S with a key selector widget ? I am new to Unreal, and actually I never used macros before.
I know I am asking for a lot, but I’ve been desperatly looking for a solution for days and you are my only hope right now
yea the native chording via Chorded Action trigger is fragile for rebinding — the Player Mappable path doesnt let you swap the chorded prereq at runtime cleanly. simplest that works is what the reply mentioned: keep Alt/Ctrl as a bool (pressed/released on those keys) and in the action handler branch on Is Alt Held — then any key can be remapped without touching the chord struct at all. if you really need engine chorded triggers, you have to rebuild the mapping and copy its triggers array into the new mapping before Map Player Key, otherwise it drops them.
if you want that logic without hand-copying triggers/modifiers each time, advanced enhanced input key remapping on fab Advanced Enhanced Input Key Remapping / Binding / Profiles / Local & Cloud Save. | Fab handles it — it preserves triggers/modifiers when remapping (via PlayerMappableOptions handling) so chorded combos like Alt+S / Ctrl+S survive the rebind, plus conflict checks.