Gamepad-Friendly UMG ~ Control Cursor with Gamepad Analog Stick! Easily Click Buttons!

Did you try GitHub - metahusk/UE4GamepadUMG: Unreal Engine 4 gamepad plugin so you can use a gamepad like a mouse in UMG ?

Iā€™ve compiled the plugin for UE 4.19. Get it here:

GitHub: GitHub - xcloudx01/UE4GamepadUMG: Unreal Engine 4 gamepad plugin so you can use a gamepad like a mouse

Does anyone know why it demands the plugin be compiled in the Binaries folder instead of the plugins folder? Im new to C++ but I was able to at least get it compiled and working so you guys can continue to use it.

I just compiled it for 4.19 with Linux support. If anyone needs it :

Well, I still got these lines of warnings (in editor 4.18 / 4.19 output log compile or VS build, same thing):


Severity    Code    Description    Project    File    Line    Suppression State
Warning    C4996    'FSlateApplication::SetInputPreProcessor': SetInputPreProcessor(...) is deprecated. Use RegisterInputPreProcessor(...) and/or UnregisterInputPreProcessor(...) / UnregisterAllInputPreProcessors(...) instead. Please update your code to the new API before upgrading to the next release, otherwise your project will no longer compile.    GameModes    F:\Unreal Engine 4\Project Aruna\MVP\ue4-repo\GameModes\Plugins\GamepadUMGPlugin\Source\GamepadUMGPlugin\Private\GameAnalogCursor.cpp    27    
Severity    Code    Description    Project    File    Line    Suppression State
Warning    C4996    'FSlateApplication::SetInputPreProcessor': SetInputPreProcessor(...) is deprecated. Use RegisterInputPreProcessor(...) and/or UnregisterInputPreProcessor(...) / UnregisterAllInputPreProcessors(...) instead. Please update your code to the new API before upgrading to the next release, otherwise your project will no longer compile.    GameModes    F:\Unreal Engine 4\Project Aruna\MVP\ue4-repo\GameModes\Plugins\GamepadUMGPlugin\Source\GamepadUMGPlugin\Private\GameAnalogCursor.cpp    48    


Looks like some code functions / commands are depricated, any suggestions to fix them?

Old threadā€¦ 4.19 update isnā€™t working from gethubā€¦?

I double that. Just tried it and it didnā€™t work on 4.19 unfortunately

Simple fix for 4.20, just change the follow code from SetInPutPreProcessor lines to the following:

Line 28 in GameAnalogCursor.cpp



FSlateApplication::Get().RegisterInputPreProcessor(AnalogCursor);


Line 49 in GameAnalogCursor.cpp



FSlateApplication::Get().UnregisterInputPreProcessor(GetMutableDefault<UGamepadCursorSettings>()->GetAnalogCursor());


The plugin for 4.19 doesnā€™t work at all. It says missing binaries or incompatible with engine. Any fix for this?

Thanks, I made a pull request on github with those changes.

Could someone please post a link to a downloadable version of the 4.20 update

Did you try downloading https://github.com/metahusk/UE4GamepadUMG/archive/master.zip and copying the plugin folder into your projectā€™s plugin folder?

No Parvan, I have never done that before. Worked great, thank you for the link and advice.

Anyone have any other ideas? Every time I try to use it says the plugins modules are missing

What does it say? Are they failing to compile? Are you using Visual Studio 2017?

Hereā€™s a fix for a bug that happens if EnableAnalogCursor is called more than once without calling DisableAnalogCursor. Canā€™t believe that no one has encountered this bug before:
/pull/7/files

Thanks for the bug fix!

How has no one made this work with the right analog stick instead of the left? Seems like its pretty much useless without that ability.

I suck at coding, but Iā€™ll try to hack it in myself today.

Totally agree with that :slight_smile: If you could try, it would be great!

GetAnalogValues takes an input value for which stick to fetch, itā€™s defaulting to the left stick

Update line 136 in GameAnalogCursor.cpp:

//grab the cursor acceleration
const FVector2D AccelFromAnalogStick = GetAnalogCursorAccelerationValue(GetAnalogValues(EAnalogStick::Right), DPIScale);

I had to call in the big guns, and he fixed the BS for us. Itā€™s nice to have smart friends lol.