This guide is for Unreal Engine 5.0 and newer engine versions!
Make a backup of your project before following this guide.
First enable the Enhanced Inputs plugin in the engine plugins menu (It may already be enabled) after enabling it restart the engine.
Next go to the Project Settings and then to the Inputs category and find the settings shown below and set them to the same as the image below.
Now click save all in the content browser and close the project.
Next download the files linked below and unzip them. Then open your project files in windows file explorer and copy the video below. Note – If you have made any custom changes to the BP_SGKGameInstance this will overwrite them so you will have to make those custom changes again.
Now you can reopen the project and go to the BP_SGKController and add the nodes shown in the image below. Make sure you set the Config to BP_SGKBindableConfig
Next go to the BP_SGKMenuController and add the highlighted nodes in the image below. Make sure you set the Config to BP_SGKBindableConfig
Now navigate to the BP_SGKMasterCharacter blueprint and in that blueprint go to the Per Frame collapsed node and add the highlighted nodes in the image below.
Next go to the Inputs collapsed node, you will now need to replace the old input events with the new enhanced input events like shown in the images below. You can find the by right clicking and searching for the name shown on the nodes in the images.
There have also been other changes in the inputs collapsed node so make sure you copy the images exactly.
If you have your own custom inputs that you’ve added your will need to do the same for them. To do this you will need to create action input blueprint for each input, then you would need to add them to the SGKCharacterInputs, assigning them an key, as well as setting there Player Mappable Options in the same way the included actions do.
If you want to know more about the enhanced input system you can check out Epics documentation or videos on youtube.
Note – In 5.1 you may get a bug that creates a _WorldContext input pin on your UpdateMouseSense function in the BP_SGKFunctions this pin may cause compile issues, so its suggested that if you have this _WorldContext input pin on your UpdateMouseSense function you should remove it.
Additional DIY Guide made after this you should follow.