Just solved this for my Windows project running 5.4.4
using this method:
void AOddPlayerController::SetMouseCursor(EMouseCursor::Type Cursor)
{
CurrentMouseCursor = Cursor;
auto& App = FSlateApplication::Get();
App.SetCursorPos(App.GetCursorPos());
App.QueryCursor();
}
Hope this helps!
Note: Also, I want to call out that when testing the method SetAllUserFocusToGameViewport()
mentioned a few times in this thread, I found my PIE sessions bugged out with 2 or more players (causing some amount of mouse input to send to all windows). That might not be an issue for your players, but obviously obstructed reliable testing.