[UMG] 4.6.1 - Setting focus overrides cursor settings.

My PlayerController class has the flag bShowMouseCursor = false;

Also, the defaultMouseCursor Property is being set to None (following documentation)

My game starts with the mouse hidden, an UMG mouse cursor takes place.

When adding another child widget to my Cursor screen layout it doesn’t gets focus.

On using the node “SET INPUT MODE GAME AND UI” the child widget starts to answer BUT the mouse visibitlity is restored.

Calling showmouse to false doesn’t hides it anymore.

The trouble:
Checking the sourcecode I noticed that many cursor assignments on FSlateApplication class are simply assuming “EMouseCursor::Default” instead of check for the mouse type used by the PlayerController. Probably this explains what is happening.

Dung… It’s not on FSlateApplication.
After get the source and override all Defaults the problem stills.
I’ll look for another Default Mousetypes. :frowning:

Aditional Info: I’ve noticed that when I click on an “empty” (I mean not hit visible ) space on the UI the cursor disappears.

FOUND! I would suggest to correct this!

ON SceneViewport.cpp
Method FSceneViewport::OnCursorQuery( const FGeometry& MyGeometry, const FPointerEvent& CursorEvent )

The mouse cursor is being set by the OS Cursor Settings (trough the method ViewportClient->GetCursor( )) without any query to the settings on the PlayerController.

When I forced the cursor back to ::None after pass trough ViewportClient->GetCursor( ), the UMG widget stopped on get the OS cursor overlay.