index | The level to load. |
name | The name of the level to load. |
Loads the level by its name or index.
Before you can load a level you have to add it to the list of levels used in the game.
Use File->Build Settings...
in Unity and add the levels you need to the level list there.
MonoBehaviour.OnLevelWasLoaded is called on all active game objects after the level has been loaded.
// Load the level named "HighScore".
Application.LoadLevel ("HighScore");
using UnityEngine; using System.Collections;
public class ExampleClass : MonoBehaviour { void Example() { Application.LoadLevel("HighScore"); } }
When loading a new level all game objects that have been loaded before are destroyed.
If you want to let an object survive when loading a new level, use Object.DontDestroyOnLoad.
Calling LoadLevel will update Application.loadedLevel and Application.loadedLevelName.
Note: Actual level change happens in the beginning of the next frame at the Inititialization stage prior to the first FixedUpdate call (see Execution Order of Event Functions):
- All game objects are being destroyed starting from root objects. OnDisable (if enabled) and OnDestroy callbacks are called for scripts.
- New objects are being initialized. Awake, OnEnable, Start callbacks are called for scripts.
See Also: Application.LoadLevelAsync, Application.LoadLevelAdditive, Application.LoadLevelAdditiveAsync.