Feature Request: Show Nested Levels

Hello!

Something that would really help with level management is if the Levels tab also showed nested levels as sub-categories of the level they are part of.

If I have a sub-level of a persistent level, I noticed I can also make sub-levels inside THAT sub-level. For very very large maps, this would help a lot.

The current way it’s shown

Persistent Level

SubTile1_1

SubSubTile1_1 ← Same ‘sub’ level as its parent level (problematic)

SubTile_2_2

Ideal way to show it:

Persistent Level

SubTile_1_1

SubSubTile1_1
SubTile_2_2

Thanks!

edit: Fighting with formatting. :slight_smile:

I’m interested in this as well, anyone know if Epic is planning such thing?

I would like to know how are you nesting sublevels inside other sublevels? I cannot seem to find how to do this and it would greatly help on my project!

It’s been awhile but I believe you just drag it onto the level list (Windows → Levels if you don’t have it open) or you can just say Add Existing Level from there, with a sub level selected.

Unfortunately I have tried that already… When you add levels (new or existant) in sublevels using the contextual menu it creates the level as a sublevel of the persistant one (Check the Reference Viewer of your “sub-sublevel” by right clicking on it in the content browser and it is referencing to your Persistant level, not its desired sublevel “parent”). Draging and dropping a level from the Content Browser into the level hierarchy (over a sublevel) will always drop as a sublevel of the Persistant one, not it’s sublevels… I’ve been researching about this and I asked because you were the first out of like 12-15 people saying it’s not possible to do so…

In the end, it does seems like it’s not possible to do so :frowning:

I believe those levels are still sub-levels, but (as the topic of this entire thread states) they appear to be all below the main one.

We definitely had sub-levels working in the fashion you’re suggesting here, but I don’t know much else since that was a different project I’m no longer working with. You might be able to run some tests to see if you can load your main level, then your sub-level, then a sub-level of that sub-level.

Shouldn’t be too difficult to figure out if it’s working the way you want, even if the list is confusing.

I’ve just succeded to load nested subLevel into the main Level.
It will require some C++ skills. In my case it was a dynamic streaming level created and Added by code in every level at runtime.
Step to do it:

When your map is loaded, so the direct subLevel too:

  • For every StreamingLevels in the Map (GetStreamingLevels)
  • Retrieve the matching UWorld object
    FindObjectChecked<UWorld>(ANY_PACKAGE, *subLevel->GetWorldAsset().ToSoftObjectPath().GetAssetName(), true);

Next store the subLevel->GetStreamingLevels() into a temps array
Next Detach the subLevel > sublevels from the parent subLevel
subLevel->RemoveStreamingLevels(subLevel->GetStreamingLevels()), to make their state == Removed

Next for each ULevelStreaming in the temp array, add a Duplicate into the main Level.
You need to duplicate them cause the parent UWorld will not match the main one.

DuplicateObject<ULevelStreaming>(SubSubLevel, MainWorld);
>MainWorld->AddStreamingLevel(SubSubLevel);

then handle the Load/Unload as you would through UGameplayStatics class

Warning!
The Hierarchy is broken so unloading the first SubLevel will not unload SubSubLevels.
You’ll have to handle the life cycle yourself