[Example] Virtual / Analog Cursor in UMG/Slate (Destiny Style)

A few months back Nick A. and I built a sample of an analog cursor in Slate/UMG. It allows you to treat the controller stick as if it were the mouse and drive the cursor around, click on UI…etc. We built the sample in the style of a mock Destiny UI. I finally found some time to clean it up and strip it down the bare essentials and get it out there. With a little bit of work, it could probably be turned into a nice reusable plugin. Better support for classic controller input is high on the list for UMG, but that’s going to take a lot more time; so consider this the next best thing.

4.9 Project Download

It’s great to see some code you guys did for fun/testing!

I didnt even know that there was something like *FAnalogCursor *and this function: UVaultItem::GetRarityText(), ohh man, that one is useful.

Thanks for sharing!

There’s a lot of goodness in there, my personal favorite is UDeveloperSettings, if you do what GameGlobals.cpp does, you can expose any global settings you have for your game in a way that makes them show up in the Project Settings dialog.

Oh dude nice! Thanks for sharing this!

That’s amazing. Thanks a lot!

Thanks for sharing!

  • Did anyone else have problems trying to rebuild the project for 4.9.2?

Nope, works on my machine.

Let’s see a 100% BP project next?

Dear Nick,

Woohoo! Thanks for sharing this with us Nick!

Will work on turning this into a plugin and see how it goes :slight_smile:

Oh very neat, thanks for the info!

Thanks again Nick!



Plugin Created for Entire Community

Dear Community,

I’ve created a plugin based on the code Nick has shared with us!

I include only the essentials in this plugin so that you can have gamepad-friendly UMG in own your project easily, and without any C++ required!


Thanks again Nick!


Forum Link

You did read the paragraph right… it’s not possible in BP right now.

EDIT: Nvm, Rama plugin-itised it already. You may be in luck.

Holy **** this is AWESOME!

@NickDarnell, this is truly awesome. I was dreading making gamepad logic to cycle through menus, but you saved me big time! Only downside, is you made me break my streak of relying on someone else’s code :stuck_out_tongue:

Thanks again!

Hi Nick, do you have any idea when we’ll see the “better support for classic controller” that you’re talking about? I haven’t seen anything on the UE4 Roadmap about it and this is a critical element of my [BP only] project. For now, I’m using the plugin Rama has created, but I really need to be able to customize the speed and acceleration of the virtual cursor. Is that something we BP-only people might be getting in the future? Thanks!

This is really amazing stuff! I am going to chuck this into my game if you don’t mind. :D/ I think gamepad support is super important even for PC Games. Very nice work Nick! Just shows the awesomeness that is Epic Staff!

This is awesome! I’m using it for a project and it’s working out quite well.

I have a question, though – would this work on consoles? Might be a dumb question, but I’ve never developed for a console before, so I have no idea…

Yes - this is the approach we use on Paragon.

Hi @Nick,
I’ve tried this and it’s amazing in the editor (4.12.5) but when I package the game to ps4 I see no cursor at all. Tried moving all the sticks and touch pad but getting absolutely nothing. Any ideas?

Does anyone know the status of native gamepad support in a future version? I’ve heard “it’s coming” several times but haven’t heard anything in a while.

Did you ever solve this ? I ran into the same issue using the plugin. But according to Nick this should work on XB1 as well. I only tried the plugin from Rama…