I am currently spawning in actors during runtime upon the click of a UMG widget button (this could be just a few actors or thousands, so either takes a few seconds or many more). I would like a loading screen to appear while this is happening. I have incorporated level streaming so a loading screen appears whilst the actors are spawned. However, I am only able to include a static loading screen as the UI freezes whilst the actors are spawned. If I include a throbber or any moving element, this will freeze.
I understand the freezing happens because the UI updates are managed on the game thread and so is the spawning of actors, and from what I’ve discovered, you can’t get either of these to be outside the game thread. I did look at a progress bar and spawning actors in groups then updating the UI and repeating (possibly with timers), but I would have to remove my existing asynchronous spawning of actors which would further slow down the spawning so this isn’t really an option.
Is there any way to move either UI updates or actor spawning outside of the game thread or am I going to have to stick with a static loading screen?