EnhancedInput Mapping Rows Map Reordering after player rebinds keys

I’ve setup Enhanced Input for my controls. Everything works and remapping them in game works and is persistent over sessions.

The issue that I’m having is that when a player remaps a binding, the next time the game loads, the list is in a different order, the key that was remapped is now at the top.
When its reset back to default, it moves back to where it should be.

I am dynamically loading the key bindings from this array.

This is what it looks like when everything is default.
image

This is what it looks like when ‘Show FPS’ has been rebound (B in this example)
image

This is what it looks like after I rebind ‘Pause Game’ (V in this example)
image

It moves the remapped keys to the top of the list.
The only way it can be reordering that I can see is from the Get Player Mapping Rows node.

This is how the order is set in the Input Mapping Context which is the order I want it displayed in.
image

Why is it changing the order and how do I make it stop?

bump

I had the same issue with the mapping context order messing things up for a customizable hotbar. My solution was to make an array that stored all the input actions I was going to change hotkeys for and have them in the appropriate order. I use that array for the for loop and modify the mapping context input actions.

Thanks for your reply!

I read your solution and have done this.

Very similar to what you were suggesting I think.

This works perfectly for me. Whenever I add a new key to bind, I just have to add another find and add it to the array and reorder if necessary.

For anyone in the future - This is the name to parse into the find call.

1 Like

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.