I am wondering if I can have a server running in the background asynchronously from my main game, and have my local client have some periodic updates come from the server in the form of a loading screen? If it’s a separate process, I’d be worried about having a long startup time since Unreal executables always have that long initial load time in the beginning.
Did some more reading in the docs. Seems like what I may need is to create another UWorld that runs asynchronously from the main UWorld.
I have a fairly time consuming random level generation step in the beginning, and currently I am creating AActors during this step to help with overlap tests. I’d like to have this process run in the background instead of freezing up the entire game for one game tick. This process would generate some level data, export it to a file, and then be usable by my game.
This file would then be used to load the level on startup at any time. It can be sent to other players connected to my session so we all have the same randomly generated level. This level file would also be reused in my single player campaign so that when I reload saved progress it knows how to recreate the level easily.
Also this random generation process can keep running for other areas of my game in the background as I play already generated levels instead of having long loading screens between areas. Ideally I’d love to be able to stream other parts of the randomly generated world using the built in level streaming code and have no loading screens at all, except for the initial loading screen when someone starts a new game or resumes a saved game.