Download

[Full Project] Rama's UMG Rebindable Key System, Rebind keys at Runtime!

From what I see these don’t persist over map changes, correct? I have to do something in the new map for it to trigger there?

It works for me, my bindings are still the same after I change them and then open a new level. They should not change on a new level since it actually changes the bindings in the project settings! Make sure they are saving when you set them (try them out before changing level) also do you have special options for level load? I don’t know if that would affect anything but worth a check.

Thank you very much!

For me, the settings not only persist across map changes, they persist even when I shut down computer and then reopne the project :slight_smile:

It’s all tied to the DefaultInput.ini file, you should make sure yours is getting updated / is not version controlled

Rama

Hee hee! Nice to hear from you! MuhammadMadi!

You’re welcome! And welcome to the forums!

Rama

New Wiki Download ~ Mouse Input Fix

Dear Community,

I’ve just uploaded a fix so that mouseX and mouseY wont get bound to lots of stuff, so if you have that issue, make sure to get the latest on the wiki!

Wiki Download Page

Rama

Hi Rama!
I’m having a go at adding controller support to my project by adding extra inputs to each mapping (as you can see in the 1st image). However the ‘Victory get all action keybindings’ node puts them in a weird order. I can work around it but it feels like a bug.

d0eac80a46339f0849a88a9727f30f6b2f78b43d.png

06ac200fa9f424fa7d08099ebead40e508d85b6c.png

Here in the logs from bottom to top I’m expecting gamepad right shoulder to be the 2nd entry, but all apart from right trigger puts themselves right at the end :confused:

EDIT:

I can re-arrange the bindings in DefaultInput.ini HOWEVER they always re-arrange themselves to be in alphabetical order.
So say I have a binding that has gamepad right trigger then H, if I rebind the H to F then those bindings will automatically switch around to be in alphabetical order and mess up my rebindings system. :frowning:
If there is a way to disable this auto arrange nonsense that would be great. And sorry Rama it’s probably epics doing rather than yours, the victory plugin has been amazing so far!

you working on solus? :confused:

It’s probably the version control. I suppose I need to check out the file in the Input Settings? I’ll just check if the file changes when I set my bindings. I am pretty sure that when I set them, they work for that run, but as soon as I stop playing they revert. Gonna try it out and report.

The auto-rearranging happens in this part of the code, I believe:

Settings->SaveKeyMappings();

This is in UInputSettings

I can’t prevent Epic’s code from doing this very easily :slight_smile:

Very nice to hear from you though!

If you want to write your own implementation that doesnt re-alphabetize you’ll want to look in InputSettings.h / .cpp

:slight_smile:

Yup I’m part of the Solus team :slight_smile:

:heart:

Rama

Three New Key Rebinding Nodes!

Dear Community,

I’ve added 3 new key rebinding nodes!

Remove Axis Binding

Remove Action Binding

Get All Axis And Action Mappings For KeY

These nodes let you remove any bindings you want and know how many bindings a key has!

Here’s a pic of sample usage!


**Download**

Here's the full project for you!

**Wiki Link to Download Page**
https://wiki.unrealengine.com/File:ReBindableKeys.zip

Rama

![80fb88efaed7bc6ec137e4cf50ad028047bc0bb1.jpeg|1018x767](upload://ip21GPpEFq9ujNZQO6u38j5yZqh.jpeg)

Thank you for giving this away Rama. REALLY APPRECIATE IT!

Yeah, I just submitted my input remapping plugin to the marketplace, and I had to rewrite a good amount of my code/scrap some functions after I realized that they organize alphabetically, as some of my functions used indexes that the player could specify.

Hi Rama. Thanks for the plugin, it’s awesome, and I’m really happy to see that you’re still updating it, the new nodes are great.

I found a little mixup in the axis mapping blueprint in the sample project. The mouse axes were switched at one point. Here’s a screenshot:

This pretty much renders the whole system useless in my opinion.
When the end user accidentally binds both Axis to the same key (for example W for both move forward and back), it completely breaks the whole system beyond repair. From that moment on both Axis will show the same scale and there is no way to restore default values for anyone outside of the editor, because as you said you cannot remove or recreate an axis, only change an existing one. If that is broken, there’s nothing you can do to restore it. Until this is fixed this system looks neat but it cannot be used for a finished product it seems.

Thank you a lot Rama! :smiley:

Hey Rama,

i found a little bug on blueprint side of your system, here happen you can’t bind Left Mouse Button because if you click on button it capture the event as a click because the button is still active on rebind, i solved it with a little trick:

  1. Disable the button after the OnClicked event in the VictoryElement

[spoiler]

[/spoiler]

  1. In the widget where you use the VictoryElement re-enable the button into the OnMouseButtonDown and OnKeyDown functions

[spoiler]

[/spoiler]
I hope it help for who have the same issue :slight_smile:

Ah, great idea! I did not think to disable the button after clicking on it the first time, then enabling it after binding so you can bind the LMB, I’ll make sure to give Rama the fix so he can add it to the download wiki page! I also fixed

from -Ross’s post!

There is a little bit of a delay when setting the LMB but all the other ones should work instantly!

–GMC

Dear @Ross, @ZioYuri78, and @gmc,

Wow this is great! Thank you for mentioning these fixes!

And thank you gmc for sending me the new version!

I’ve updated the wiki download link:

Have fun today everyone!

:slight_smile:

Rama

Do I need Victory to use this?