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

Dear Community,

Github Repository

This plugin now has a github repo so you can contribute!

If you just want download links see below!


**How It Started**

Epic Developer Nick Darnell recently released a project where he demoed how a gamepad could easily be used with UMG!

**UE4 Forum Link**

This is a C++ project that can't be used by people without C++ being involved.

**I've created a solution for all of you who are using BP-only projects!**

This is also a great plugin for those of you with C++ projects who just want the bare-essentials that will allow a gamepad to be easily used with UMG.

New Plugin For You!

I’ve extracted the core of Nick’s project as a BP-only friendly plugin that you can use without needing any C++ at all!

My plugin will work with any BP-only project.

**Packaged Binaries For You!**

I've provided packaged binaries for:

1. Developement ~ Win64
2. Shipping ~ Win32

Please note I cannot easily provide binaries for mac or linux, someone else will have to send me those and I can add it to my project.


4.16 + Github Repo








This file is too big for Epic Wiki so I had to host on my Media Fire account.

I am including the entire project that you see in the video, so you can jump right in and test with your gamepad immediately!

My project contains only the bare essentials that you need to get set up with Gamepad-friendly UMG!

Please note you can and should extract the plugin from the project and bring it over to your project, then you have to do the steps that I mention in the video to get rolling with gamepad-friendly UMG in your own project.




  • thanks for adding on to Nick’s great work. The Blueprint audience certainly appreciates you.

Great addition , thanks!!

You’re welcome everyone!



I need to check this out. Thank you so much, !

… you’re a star! This is just what I’ve been looking for. Works great and is really easy to use.

Thanks to Nick as well of course :slight_smile:


Hee hee! You’re welcome!

Dear Community,

See my original post for a simple plugin that allows you to use a gamepad as if it was a mouse!

Enjoy a gamepad-friendly UMG experience!


Hey , awesome plugin!
Was wondering about drop down menu support?
just noticed it does not work for them aha

I will have to investigate that :slight_smile:


I just made a combo box with 5 options and I had no trouble using my game pad to highlight the combox, and then click it to expand its entries, and then choose among the entries.

You were using a combox for your drop down menu right?

Dear Community,

See my original post for a simple plugin that allows you to use a gamepad as if it was a mouse!

Enjoy a gamepad-friendly UMG experience!

Even works with drop down menus (combo boxes)!


The plug-in is working great, however I’m getting these errors when I load the project. Anyone else see these? I get the same on my Mac too.



Ok so i’m using this wonderful plugin but looks like i just ran into an issue/bug.
Based on the node hierarchy from the demo project i did the same on mine. But i found that once i exit my menu (Event Destruct is called) i can’t seem to get my mouse back whenever i reenter (Event Construct is called) the menu.

The setup in Construct event is just like the demo project: Construct -> Enable Virtual Cursor -> Show Mouse Cursor(true) -> Set Ignore Look Input(true)
The setup in Destruct event is just like the demo project: Destruct -> Disable Virtual Cursor -> Show Mouse Cursor(false) -> Set Ignore Look Input(false)

But the cursor wont work again once Disable Virtual Cursor is called, it doesn’t matter how many times i call Enable Virtual Cursor. Other problem i noticed is that the nodes “Set Ignore Look Input” to false does nothing because once I exit my menu i can’t move the camera again if i don’t call “Disable Virtual Cursor”. So probably there’s something on the code of that specific node that: one - Is preventing to show the cursor again. and two - Is allowing the player to move the camera (but only it can allow that so if that node isn’t called the camera can’t move again).

Dunno if the version of ue4 has something to do with it; I’m using 4.9.2.

Hope you can help me, Im stucked at it now.

Thanks for this wonderfull plugin, and of course thanks to Nick D for making this in c++ in the first place!

@Major and Meguido

I will have to investigate these issues and get back to you!

The plug-in is great! Thank you ! Maybe I don’t understand something obvious, but how to change default LeftStick control to RightStick? Anyway plugin is very useful, thanks again!


Any news on the bugs i reported? I’m still stucked at this ^^’
Sorry for bothering with this.

, you are absolutely fantastic :slight_smile: I will definitely try this out in one of my projects!

Hee hee!


**Issue: Repeatedly Opening and Closing UMG Cursor Menu**


I had no trouble repeatedly adding and removing the UMG widget that I use with the cursor mode, and repeatedly start and stopping the gamepad UMG cursor mode, using this addition to my sample project, which is now updated to 4.10

**Video Proof**

I demo opening, closing, moving around, and reopening the menu in my Twitter post that I just made

**Twitter Link**

Please try this and see how it goes!


Updated to 4.10

Dear Community,

I’ve updated my Gamepad project to 4.10!

I am still including:

  1. Whole project you see in video,
  2. The plugin itself,
  3. Packaged binary for Win32 shipping!
  4. Package binary for Win64 Development
  5. And of course the editor binary for the plugin and main game!