Trying to get my head around level streaming. I want to do a “Final Fantasy” style switch from my 3rd person world view to a battle arena, and then switch back after the battle). It looks like level streaming should be able to deliver this (?) Almost all the tutorials say you load a new streamed level (this will be the battle arena) and unload the current one (the rest of the world). But since the 3rd person world could be pretty big, load and unload might be an expensive operation. Do I have to unload, or can I just keep it sleeping while the battle takes place, unload the battle and then wake up the main world again?
Hi,
I can’t say which is the better solution performance wise, but you can definitely make a loaded level visible/unvisible. You just need to use the ‘GetStreamingLevel’ node, and using its return value search for ‘ShouldBeVisible’ and set it to your needs.
If you want to use level streaming and not unload one of the sub levels, you will have to have your arena sub level in the same relative area as your world.
What I mean by this is let’s say you have your persistent level called FF_WorldPersistent and you have two sub levels, FF_3DWorld and FF_BattleArena. Instead of not caring where the location of all of the objects are in your battle arena sublevel, you would have to place them in a way where they wouldn’t overlap with anything in the 3D world if both of the sub levels were visible, which is what happens if you load both levels via streaming. So if you open FF_WorldPersistent and load FF_3DWorld, you will have your normal 3D world. If you then load FF_BattleArena and teleport the player to the arena, the player shouldn’t be able to see rest of FF_3DWorld but it is still technically there as it was never unloaded.
Hopefully this makes sense.