Turns out if you comment out
GetMoviePlayer()->PlayMovie();
But still add the movie path to the movie before calling SetupLoadingScreen(); then the focus issue goes away and works as intended. Seems unintentional and counter intuitive, but I finally got it working.
Here is my working script -
void UTPGameInstance::Init()
{
UGameInstance::Init();
FCoreUObjectDelegates::PreLoadMap.AddUObject(this, &UTPGameInstance::BeginLoadingScreen);
FCoreUObjectDelegates::PostLoadMap.AddUObject(this, &UTPGameInstance::EndLoadingScreen);
}
void UTPGameInstance::BeginLoadingScreen()
{
FLoadingScreenAttributes LoadingScreen;
LoadingScreen.bAutoCompleteWhenLoadingCompletes = false;
LoadingScreen.bMoviesAreSkippable = false;
LoadingScreen.MinimumLoadingScreenDisplayTime = 2;
//LoadingScreen.WidgetLoadingScreen = FLoadingScreenAttributes::NewTestLoadingScreenWidget();
LoadingScreen.MoviePaths.Add(TEXT("TacoLoading"));
GetMoviePlayer()->SetupLoadingScreen(LoadingScreen);
//GetMoviePlayer()->PlayMovie();
}
void UTPGameInstance::EndLoadingScreen()
{
}