- Home /
Switching scenes at runtime: do all assets get reloaded?
If I have two scenes which are exactly the same, with the same prefabs etc, when I switch from scene 1 to the other at runtime will the prefabs be reloaded in the new scene despite the fact that they already exist in the current scene?
The reason I ask is, if for example I have a scene (level 1) where only part of the environment is available to be explored by the player, in level 2 the exact same environment is available + perhaps another small area, in level 3 another area is added on top etc etc
If in each scene everything would have to be reloaded, by the time the player got to say level 15 this would take a significant time to load. Is there a way to build upon scenes in this way at runtime from scene to scene?
Answer by tnaseem · Dec 19, 2011 at 10:53 PM
Yes. There are a couple of member functions to do just that under Application - Application.LoadLevelAdditive() and Application.LoadLevelAdditiveAsync(), depending on how you want to load the next bit.
These functions won't destroy anything in your current scene, but merely add the additional objects within the new scenes to the current one. So, it's designed to create a continuous world, which is added to as you progress through it.
So, in your case I'd remove the existing environment from scenes 2 onwards, and just have the additional parts contained within it. Load these additively to the current scene as you progress.
More info on the functions here: http://unity3d.com/support/documentation/ScriptReference/Application.LoadLevelAdditive.html
Hope this helps! :)
Awesome! That sounds just like what I need tnaseem. Thanks heaps
Your answer
Follow this Question
Related Questions
Load Custom Scene 2 Answers
Load Scene by audio clip 2 Answers
Substances rendering slowly after level start. 0 Answers
How do I assign serialized data, to my player script? 2 Answers