Windows cursor is being shown when accessed widget through Set Input Mode UI Only?

Hello. I have this problem with my game when I access a widget through a Set Input Mode UI Only -node, where as soon as the widget is being accessed the game shows the Windows cursor that I can then move. However, if I click with mouse during this anywhere, all the controls gets disabled, mouse disappears and I can no longer do anything, except force quit the game. The game doesn’t crash or freeze, but the controls just stop working. I am using the UE 5.4, but the same problem has been at least since the 5.3 version.

The main problem that I have is that I do not want the cursor to pop up in the first place. I just want the widget to be controlled without any cursor.

For two days I’ve been trying literally everything that I could find in the Unreal Engine forums, YouTube etc. I have probably tried 20 different things.

Using the Show Mouse Cursor -node, with the tab unchecked I have tried, it doesn’t do anything. I have tried changing mouse settings from the Project Settings. I have disabled cursor from the widget and all of it’s submenus. Nothing works, and based on my search this seems to be a really common problem. I have troubleshoot the problem so that I know for a fact that it’s either the Set Input Mode UI Only or the widget itself, or both that is causing this problem.

Here is a gif of what is currently happening:
cursorUE54

And here is the Blueprint that takes control of the widget:

And here is the Event Graph of the widget:

And in the widget itself everything is set up like this:
WidgetBlueprint2

Again. I want to access my widget by having able to control it with my keyboard, and I want to disable the cursor. On top of that, I do not want the keybinds to stop working when I click somewhere with my mouse. When I exit the widget in-game, everything goes back to normal and the cursor disappears (as shown in the GIF).

Thank you already in advance!

Have the widget return Handled on click, this will prevent focus pass to the Player Controller. When it comes to cursor showing up - every widget can handle whether to and what cursor so show. Set it to None for the widgets that should show no cursor. Is that it here:

Does this include the widget root?

image

Missed it before, see it now.

I have done these both. With same results, nothing changes. The widget and all of it’s submenu’s cursors are set to None

Does this Print? As in, you’re using a Widget Component, right? For it to detect input you’d need Hardware Input enabled on the component. Can you confirm?

How do I include the widget root, since it is not a variable like the submenus?

However the root is already set up like this in the Designer:
widgetrootdesigner

Like this, it’s the first element in the hierarchy:

image

But it seems you’re already doing it, see the post above with the deleted message.

So, in short:

  • widget component with Hardware Input
  • pass focus to multi line text
  • cursor pops up even though all widgets (and the controller) set it to None?

Does the widget actually see the click when mouse goes down?

Sorry for being so clueless, but I don’t know if I have Hardware Input enabled or not?

Also the OnMouseButtonDown function doesn’t print anything, when print string is added there.

It’s a setting of the widget component:

I assumed you have one glued to the screen? This is what actually allows the widget to receive mouse input in the first place.

Or is this not a component at all?


Sorry for being so clueless

No need, I am actually baffled by all this, tbh. At a glance, it all should work the way you expect it to.

Gotcha. I found it, and it was not enabled. However, I enabled it and tested the game, and still same results, no changes to what was happening before.

1 Like

I feel the controller gets confused. Perhaps we cannot dictate cursor visibility since the controller has no idea what is happening to the mouse (UI Only Mode)? With no Hardware Input and focus sitting with the text box, the other widgets can’t see the cursor as well…

Could you test whether you’re getting the same result in Game and UI input mode?

image


Or change the order of those 2 nodes?

Yes, I have tested this also. And in fact, it is like this currently as well, Set Input Mode Game And UI is the current version. And again, no difference, same behaviour.

Also just tried the order change, still same.

1 Like

Could you run the Widget Reflector and tell what the cursor is actually over?

  • in any widget’s Designer:

  • in the reflector:

image

  • run the project, get to the offending monitor and mouse over stuff, what does the reflector say:

Curious to see whether you’re hitting User Widgets or the Viewport; hitting the latter would look like this:

image

If you’re hitting something else, there’s something in the way that shows the cursor.

1 Like

Is this correct? I had the game on, accessed computer, but it seemed to not change at all?

Yeah, that looks fine. At least we know it has nothing to do the with widgets. The cursor cannot see them and hits the viewport.


I am fresh out of ideas. Would need to replicate it somehow. And if you ask the PC to hide cursor on TIck, will it obey?

1 Like

t

Is this set to something other than No Capture? This should work:

image

And definitely try:

(post deleted by author)

It is set up as Capture Permanently Including Initial Mouse Down, but I tried changing this at some point, so I don’t remember if it was like this by default or if I changed it at some point from the No Capture.

Also, here are some other settings, that I also tried to change at some point. Don’t know if they make a difference

Check my post above. Also, search though ALL BPs to see if anything else is modifying cursor visibility.

Who knows what you can find.

Yes, I changed the settings as you showed in the post above, no difference. Also, I have double checked that any other BP isn’t modifying cursor visibility.