how to do old school level loading and unloading

i should prface by saying, old school like skyrim, dark souls, GTA, or any other game where there may be a loading screen.

Anyways, iv essentially got a bunch of junk in a level that i cant seem to clean up. Its in blueprints, and no matter what i try, i cant seem to figure out a way to garbage collect it. its not causing crashing, lag, or anything like that, but it is causing abnormal amounts of ram usage, and it never goes away between scenes.

im currently doing all my scenes in one level, and because my program is procedural in nature, i can get stuff like actors to dynamically spawn and destroy assets when needed. this mean my program is already setup for a level wipe, so lag, stutters, or generally horrible performance when the transition occurs is acceptable.

i avoided level transitions in the past, simply because i didn’t think i needed them, but now with all these memory leak issues im experiencing, i guess its high time i implemented a proper level system

those examples you gave are all open world games that must use some form of level streaming.

unreal 5 has world partition for that and ue4 has world comp.

To me “old school level loading” would mean that when you hit a trigger we go to a loading screen and wait for a new level to load - no streaming.

ah. sorry im just a dumb ■■■. i went to go look again and messed around with the nodes. it turns out i dont need to explicitly call unload level or close level; it will just be all done for you. it also sorts out my GC issue, so thats nice.
the only nodes that had the unload option was level streaming, so thats what i was expecting i would need to use.
turns out that open level (by name) just unloads the level when you are done with it

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.