[Slate Bug] SWidget::SetCursor(EMouseCursor::) doesnt do anything in a runtime game instance

Dear Friends at Epic,


In-game instance, run from commandline, editor is not loaded


I am trying to hide the mouse cursor for an SWidget after it receives keyboard input focus.


I am unable to change it at all.

For testing I am using TextBeam

I am even trying to change the cursor for the gameviewport just as a test

There are only 2 swidgets in my test, game viewport and the widget I am trying to give the input to.

The keyboard input is going to the same widget I am setting cursor for

Any ideas how I can change mouse cursor for SWidget in game instance?


void SVictoryInputText::SetSlateUIMode(bool EnterSlateUI)
		if (JoyInputText.IsValid())
			FWidgetPath WidgetToFocusPath;
			bool bFoundPath = FSlateApplication::Get().FindPathToWidget(FSlateApplication::Get().GetInteractiveTopLevelWindows(), JoyInputText.ToSharedRef(), WidgetToFocusPath);
			if (bFoundPath && WidgetToFocusPath.IsValid())
				FSlateApplication::Get().SetKeyboardFocus(WidgetToFocusPath, EKeyboardFocusCause::SetDirectly);
				//No Mouse Cursor





I tried using the CursorQuery setup that is used by SEditableText

It also will not ever change the mouse cursor, either to None or to TextBeam, during a commandline Editor-closed instance.

FCursorReply SVictoryInputText::OnCursorQuery( const FGeometry& MyGeometry, const FPointerEvent& CursorEvent ) const
	return FCursorReply::Cursor( EMouseCursor::TextEditBeam );