Just need a little extra clarification on using persistent levels and sublevels

I’m still learning Unreal but eventually plan to build a game that would primarily take place in a big office building. Think something like Control.

I really want to take advantage of UE5 and Lumen to create some dynamic lighting, but I am also trying to be mindful of not making my game to resource intensive.

The game would be sort of a mystery puzzle game of sorts, no enemies to fight but they would instead explore, find clues to help get to new areas, and figure out how to eventually get up to the top floor and uncover the big mystery. Very story heavy.

I figured that it would be best to keep the levels (office building floors) fairly small and each subsequent floor would be loaded in as a new level.

Would a developer typically create multiple persistent levels for something like this and just save and recall needed variables via the game instance? Or does it make more sense to have just one persistent level and every floor be a sublevel?

I am just trying to wrap my mind on what the different approaches are and their impact on overall performance, or if it even matters that much.

One persistent level, many sublevels, and level streaming

Where can I go to learn more of the terminology? I come from a 3DS Max background where a “MAP” was a JPG you applied to an object or a UV map. Here you call a “MAP” a room. I guess in UE5 a JPG is called a texture map.
Just trying to wrap my head around what’s what… do maps make up a level? Is there anything above (or below) “Level”, Where do Streaming Volumes fit into the hierarchy? I’m assuming there’s a hierarchical structure somewhere that will help my head from spinning ???
THX

A map is a level.

A streaming volume fits around a level you want to stream.

I was messing around with a template, deconstructing it to see how they put it together. Apparently the template was built so that it loaded in all the sublevels but made them invisible and essentially toggled that visibility as you moved through the game.

What sort of impact would that have on a game with a single persistent level? I assume that the initial loading of the game would be longer but would it help performance in any way?

I think the creator designed it that way to help handle some of the interactive objects in the template.

Thanks!

No worries. If you load everything, but hide it, I think it will still have an impact. The main point of streaming, is you just can’t have it all loaded at once. ( ie, your levels are that complex ).

thanks, I have much to learn.
It’s the journey, not the destination right!
Just gotta keep peeling back the onion layers.

1 Like

Streaming volumes no longer work in Unreal Engine 5 or they have moved the UI that allows you to set which volume certain levels should be attached to.

They are still available, I just checked, but it’s not obvious.

This vid is still roughly correct

At any rate, now you can use world composition as level streaming. Unless you have a very particular requirement, like having level above and below each other.

The Interface for Level Streaming shown in the video @ 2:47 is completely changed making using Level Streaming volumes pointless. You can’t select which levels to stream. They just completely removed those options in the UI. You have to do it manually using BPs or C++ now. I don’t know why they even kept it in there since they removed the 1 core UI element that made the whole thing possible for no apparent reason. Extremely frustrating.

1 Like