RPG Style map switching

Hi. How can i create a Elder scrolls like level switching where i basicly have a door. And the door is linked to another door in the map. So when i activate the door then i switch the level and get teleported to the door. I dont want to use level streaming tho since levels get messy when using it and i think its not a good idea to have the entire game on 1 map.

As far as I know you have no other option than streaming if you want seamless transitions like keeping the music playing, quick transition etc.
As long as you switch to another map, everything in the previous map is destroyed.

By experience if you’re using C++ you can easily setup your project to have seamless-ish transitions with no streaming.
What I did is create an actor like AMapTransitioner (containing tags on where to spawn in the next level), that registers itself in a custom GameInstance, then once your level is loaded, in your custom gamemode, get back the tags in your GameInstance and in your FindPlayerStart function, return a player start that match the tags.

If you don’t need to change level, just fake a transition by having a matinee fadeout than change main character location.

But how performant is that ? Having a huge world with allot of objects split up into streamlevels. I know that the levels are not rendered. But they sit in memory

My way loads levels independently (no streaming).
For streaming in general thats the point of streaming technology actually which is allowing giant worlds at lower cost. Actually your Persistent Level is not entirely loaded, it’s divided in chunks that are dynamically loaded and unloaded.
I don’t know yet in details how it works in UE4 but you can still browse the source code :slight_smile:

Thanks! In your way. How do you save stuff like the inventory and enemys on the previous level ? Do you just save this in a savegame ?

Tricks with PlayerState, this link is a good start: