I fixed it by applying the following patch to the engine (5.0.3 source build). Seems like a bug to me!?
Index: Engine/Source/Runtime/MoviePlayer/Private/DefaultGameMoviePlayer.cpp
===================================================================
diff --git a/Engine/Source/Runtime/MoviePlayer/Private/DefaultGameMoviePlayer.cpp b/Engine/Source/Runtime/MoviePlayer/Private/DefaultGameMoviePlayer.cpp
--- a/Engine/Source/Runtime/MoviePlayer/Private/DefaultGameMoviePlayer.cpp (revision 0b0bcb3adfabea95f9a061a430c0f7c5cbedf70c)
+++ b/Engine/Source/Runtime/MoviePlayer/Private/DefaultGameMoviePlayer.cpp (date 1664976414824)
@@ -465,14 +465,7 @@
// Transfer the content to the main window
MainWindow.Pin()->SetContent(LoadingScreenContents.ToSharedRef());
}
- if (VirtualRenderWindow.IsValid())
- {
- VirtualRenderWindow->SetContent(SNullWidget::NullWidget);
- }
- if (UserWidgetHolder.IsValid())
- {
- UserWidgetHolder->SetContent(SNullWidget::NullWidget);
- }
+
const bool bAutoCompleteWhenLoadingCompletes = LoadingScreenAttributes.bAutoCompleteWhenLoadingCompletes;
const bool bWaitForManualStop = LoadingScreenAttributes.bWaitForManualStop;
@@ -572,6 +565,15 @@
}
}
+ if (VirtualRenderWindow.IsValid())
+ {
+ VirtualRenderWindow->SetContent(SNullWidget::NullWidget);
+ }
+ if (UserWidgetHolder.IsValid())
+ {
+ UserWidgetHolder->SetContent(SNullWidget::NullWidget);
+ }
+
LoadingIsDone.Set(1);
IsMoviePlaying = false;
FCoreDelegates::OnAsyncLoadingFlushUpdate.Remove(OnAsyncLoadingFlushUpdateDelegateHandle);