Does Level Streaming and Seamless Loading make sense on a "Stage based" game?

I’m trying to create a game that consist of a HUB World and a stage selection screen, for the moment i’m using Level Streaming on each stage, to separate the work that the programmer, musician and artist do (so they have no conflicts on GIT). But seeing as the typical “Load Screen” is done via doing a PersistentLevel that triggers the sublevel loading, i’m having trouble seeing how can I Adjust this design to my game.

Before I had a persistent level (that holds the stage), this had multiple sublevels that are “Always Loaded” (so i don’t have to turn them on one by one). If i had to change my design (which i’m on time to do BTW), to have only 1 persistent level game-wise, and load by hand each level as the character loads them (using streaming), how would I go with loading the SubLevels that i had as “Always Loaded”?

I’m kinda on a stump here… any help would be appreciated

Yes. If you want the stages to be loaded seamlessly. Time is precious and we Gamer Devs only use loading screens because of hardware limitations.

Ok @TechLord , first of all, thanks for your answer… just 2 questions:

  1. How is this solution for doing LoadingScreens when chosing not to use level streaming : GitHub - ue4plugins/LoadingScreen: A plugin for Unreal Engine 4 to expose simple controls for managing
  2. About those tacos…

@HeavyBullets I personally don’t see the need for a loading screen plugin. I would just use UMG for traditional GUI loading screen and favor the idea of interactive loading screens. However, the challenge in your initial question was ‘Level Streaming and Seamless Loading make sense on a “Stage based” game?’ Level Streaming makes sense for massive levels. ‘Stage’ Selection does not necessary need to use a traditional GUI or screen. We’re developing a Multi HUB world using both seamless loading and loading screens (ad space). We intend to use Level streaming for Loading massive levels and integrate game modes (similar to your stages) selection in the game world making use of various Rifts {a combination of Doors / Image Mattes / Scene Captures / Teleports }. Players choose the stage by entering Rifts which can be any entrances into Buildings, Structures, Vehicles, Crafts.

@TechLord but doesn’t the main thread lock when changing level, so how would you display a UMG, while loading the map? I’m pretty sure i have a big confusion on some of those points you talked about.

The game we are doing are small stages, so level streaming is just used for sharing work with our developers… if a big scene comes in play we would use level streaming and streaming volumes to load each section, i’m good on that…
But when i’m on the HUB world and select stage 1-1 (for example)… the loading of stage1-1 shouldn’t be a frozen image, it would be good to use a transition animation (like a hourglass… etc)…
Can that be done without the use of a plugin or streaming levels?

I believe the confusion is on my part. I have a better understanding now on your use of level streaming. I’ve heard other teams use that technique to work on different areas of a large-scale map, but I don’t see a reason it cannot be used on smaller ones. Heck, a single architectural structure could be its own map using the level streaming method and they may be something for me to consider for complex structures.

Our approach to collaboration is developing a Multi-user High Density Modular World/Entity Construction System leveraging UE4’s Networking and rendering capabilities. This system will provide the framework to derive several in-game customization systems for Character Customization, Weapon Crafting, Vehicle Tuning, Building construction and more.

I’m not aware of any Thread-Lock on Level load. I use Exi’s Lobby system and it transitions between lobby and level map using a UMG Throbber Widget during load. My question to you would be have you tried using UMG during Map Load? If not no worries, use your Plugin.

Yes, the gamethread locks when changing levels without using seamless loading (it’s not an asynchronous operation), it’s easier to see if you have things moving while trying to load a new level… the game will freeze until completion.

Will check those links! if not, will use one of the two solutions after i discuss it with the pillow

Well, if that is case. I may have to use a Loading Plugin myself.