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.
See Execution Order of Event Functions for more information regarding the calling sequence once a level is 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.