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

thanks share


Oh that’s weird, i’ll have to test it out again maybe i made some mistake. I’ll take a look at the 4.10 version too.
Thank you!

Thanks Nick and Rama! Now I need to get cracking on making this work with 3D widgets so it works in VR for our in-game desktop environments.

This is amazing! Thank you Nick and Rama! I’ve been waiting 6 months for someone to make something like this now.


You’re welcome SVR33!

Have fun with the plugin!



hello, I am using this plugin in my project and it is just fantastic, its works perfectly, the only thing I would suggest if you ever want to improve it is to enable mouse scrolling from the gamepad as well. For example you could make it that when we press the joystick used to move the cursor, and then move the joystick up and down it act as a mouse scroll, so the player can use the scrollbox without clicking on the cursor and dragging it up and down :stuck_out_tongue:

Other than that I just love it!

4.11 binaries? This is a phenomenal plugin.

Great plugin, although I’ve noticed that when clicking into open space (not on a widget) the cursor disappears for me :confused: Is this intended?

Any chance you will provide binaries for Android / iOS / Linux ? Thanks.

Hey Rama,

many thanks for the great plugin. I love it!

Though, I got one specific problem:
We have a UI where you can navigate the analog cursor and can click list items, representing normal keyboard bindings, to bind a new key.
I want to ignore all gamepad input for those bindings. The problem is the Gamepad_A button is recognized as LeftMouseButton to click widgets of course.

A similar task, I struggle with:
Our UI is able to switch displayed key icons, depending on the current input device: gamepad or keyboard/mouse.
Because of the fact, Gamepad_A is the same as LeftMouseButton, I had to exclude LeftMouseButton from that function for the time being, thus clicks on any UI widget won’t change the key icons.
But they shall change on Gamepad_A / LeftMouseButton again.

The question:
Is it possible to toggle what is returned from Gamepad_A with a boolean somehow?
Maybe in combination with the IsCursorOverInteractableWidget() function?

Oooh that’s a neat idea! Gonna have to think about the timing of doing that, but great idea! I also think Epic is working on direct gamepad UMG integration now so I’m not sure how much longer we’ll need the plugin version :slight_smile:

Coming soon!

Hi ZeJudge!

When you set the UI mode, make sure to uncheck “hide during capture” :slight_smile:

Here’s a pic!


I’ve added this to the 4.11 version

Um, but can you use a gamepad with android, ios? I dont have cross compile for linux setup, but I could mac, can you use a USB gamepad on a mac? (I’ve always been a PC user)

Great question!

I feel like you should probably devote your development time elsewhere if you dont have urgent deadline, because I think direct UMG/gamepad integration is being worked on, let’s revisit this matter closer to any actual deadlines and see where Epic’s direction integration is at by then :slight_smile:


Yeah, you can use Bluetooth gamepad on Android and iOS (as well as on PC/Mac; not sure about Linux).

Hi! :smiley:

I think my setup of the virtual cursor was incorrect as it seems to be acting as it was intended now that I’ve played around with it :smiley:


well here’s another solution :slight_smile:


GamepadUMG 4.11! Celebrate!

Dear Community,

I’ve now upgraded Gamepad UMG plugin to 4.11!

It includes

1.Full project so you can see it all working already, and the content assets you’ll want to port with the plugin
2. win32 shipping binaries for plugin
3. win64 development binaries for plugin
4. the plugin itself as its own unit



ohhh, I had no idea that epic wanted to make this an engine functionality. They must have seen how popular your plugin is and decided to spare you of the work needed to keep it up to date :stuck_out_tongue: Anyway a big thanks for what you do, no matter what happens next :slight_smile:

Okay, thank you! I follow this thread to get updated, if something changes. :slight_smile:
Actually we have an urgent deadline in about a week But that’s a minor bug, over which the players can certainly look away.

Hey all,

I’ve noticed that I’m unable to use this Virtual Cursor when using a loading screen: A new, community-hosted Unreal Engine Wiki - Announcements and Releases - Unreal Engine Forums

For some reason the 2 clash and the engine falls over. It’s probably something to do with rendering the 2 at the same time when transitioning through levels. Has anyone else had similar issues?


Plugin not Packaging Win32

Hi Rama,

Congratulations on such a great plugin and thanks for sharing it.

I´ve been using it on the editor (4.11) and it works great and it’s just what I was looking for, but when I tried to package the project I´m not able to ship to Win32, I got an Unknown error.
I tried to package disabling the plugin and the packaging worked.

I found this thread on the Wiki:,_How_To_Package_Custom_Plugins_With_Your_Game on how to package plugins.
As far as I understand (I have very little programming knoledge) I have to compile the source files you provided with the plugin, but it is already compiled in GamepadUMGPlugin/Binaries/Win32 am I right?

To be entirely sure I tried to compile the plugin but it was there where I got stuck. I’m new to Visual Studio C++ and I´m completely lost.

Maybe I’m doing something wrong or I’m missing something.

Could you help me find a way out for shipping to Win32?

Thank you!

So I managed to pack and ship for Windows 32, without making changes to the original files you provided, just moving the parent Plugin folder to C:\Program Files\Epic Games\4.11\Engine\Plugins\Runtime\

The problem is that now I get the following error when I try to run the packaged .exe file: Failed to open descriptor file ‘…/…/…/ProjectName-Win32-Shipping.uproject’

What do you suggest for getting it to work?

Thank you!