Ok, I’m having a lot of trouble making something that sounds simple but I can’t quite figure how to make it using Unreal’s tools (I’m working exclusively with Blueprint at the time)
What I want is to have a cursor in the game that can be changed to different graphics depending on what’s under the cursor or the state of input (for example, a hand can change to a grabbing motion when the mouse button is pressed) and trigger events when overlapping with objects in the game.
Here’s a list of stuff I’ve tried and what I learned with those attempts:
- Mouse cursor icons can be changed, but only if I set them all up statically and they’ll be forcibly assigned to specific cursor types which may have nothing to do with the graphics we wish to display
- Mouse events on UMG widgets are only dispatched if the mouse if the cursor is visible; which is understandable, but gets in the way of things (I am suspecting that using UMG widgets is, in fact, not a good idea)
- If I create an UMG widget that follows the mouse and can be then changed to match any image I want, it gets in the way of the mouse events; and also I still need to show the mouse cursor so I have two cursors on the screen
I’ve since been trying to use an actor with a paper sprite following the mouse position and using actual collision(well, overlap) to deal with mouse events (and, perhaps, replacing the UMG menu with a fixed camera and sprites) but have been having some trouble with moving the actor (for some reason, even with no collision settings I can’t set transform position )
So I’m asking here for tips and ideas if anyone out there has implemented a custom dynamic cursor like that. I’ll continue updating here as I try new ideas until I get something that works…