Why are my sublevels loaded automatically?

Hi there,

I have a setup with a persistent level containing game logic, and a number of sublevels containing art assets. I don’t have any streaming volumes, and I have set the “Initially loaded” flag to false on all sublevels. My intention is to load the sublevels via blueprints when I reach certain checkpoints and not before.

When I remove all sublevel loading nodes from my blueprint I’m expecting the game to load up quickly and for the memory usage to be low (since I’m only loading game logic). However, the loading time and the memory usage (both RAM and VRAM) of the packaged build is almost exactly the same as when all the sublevels are initially loaded and visible. I would have expected a difference in 500mb, but now it’s more like 2mb. The sublevels are not visible, but they still seem to be loaded.

The editor is not running when I run the packaged build, so it’s not that.

I’m just wondering if I’ve missed some crucial component or checkbox that prevents me from loading the sublevels on demand as would be expected.

Does anyone know?

To answer my own question:

The “Use Background Level Streaming” checkbox in Project Settings → Streaming needs to be true in order for sublevels to be unloaded on startup. If it is set to false (which it was in my case), the “Initially Loaded” flag for sublevels will be ignored and the levels will be loaded automatically and set to not visible.

I really wish the Streaming settings under Project Settings were better documented.

4 Likes