# LoadLevel

> Note: This is now obsolete. Use SceneManager.LoadScene instead.

## Definition

* **Type:** Method
* **Namespace:** [UnityEngine](/engine/6000.5/script-reference/unityengine.md)
* **Assembly:** UnityEngine.CoreModule

## LoadLevel(int)

**Note**: This is now obsolete. Use [SceneManager.LoadScene](/engine/6000.5/script-reference/unityengine/scenemanagement/scenemanager/loadscene.md) instead.

> **Warning:**
>
> **Deprecated.** Use SceneManager.LoadScene

```csharp
public static void LoadLevel(int index)
```

### Parameters

**** (\[int]\(https\://learn.microsoft.com/dotnet/api/system.int32)): The level to load.

### Remarks

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. Refer to [Order of execution for event functions](/engine/6000.5/manual/scripting/managing-update-order/execution-order.md) for more information regarding the calling sequence once a level is loaded.

```csharp
using UnityEngine;

public class Example : MonoBehaviour
{
    void LoadHighScoreLevel()
    {
        // Load the level named "HighScore".
        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](/engine/6000.5/script-reference/unityengine/object/dontdestroyonload.md). Calling LoadLevel will update  [Application.loadedLevel](/engine/6000.5/script-reference/unityengine/application/loadedlevel.md) and [Application.loadedLevelName](/engine/6000.5/script-reference/unityengine/application/loadedlevelname.md).

**Note:** Actual level change happens in the beginning of the next frame at the Inititialization stage prior to the first [MonoBehaviour.FixedUpdate()](/engine/6000.5/script-reference/unityengine/monobehaviour/fixedupdate.md) call (refer to [Order of execution for event functions](/engine/6000.5/manual/scripting/managing-update-order/execution-order.md)):

* 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.

Additional Resources: [Application.LoadLevelAsync](/engine/6000.5/script-reference/unityengine/application/loadlevelasync.md), [Application.LoadLevelAdditive](/engine/6000.5/script-reference/unityengine/application/loadleveladditive.md), [Application.LoadLevelAdditiveAsync](/engine/6000.5/script-reference/unityengine/application/loadleveladditiveasync.md).

## LoadLevel(string)

**Note**: This is now obsolete. Use [SceneManager.LoadScene](/engine/6000.5/script-reference/unityengine/scenemanagement/scenemanager/loadscene.md) instead.

> **Warning:**
>
> **Deprecated.** Use SceneManager.LoadScene

```csharp
public static void LoadLevel(string name)
```

### Parameters

**** (\[string]\(https\://learn.microsoft.com/dotnet/api/system.string)): The name of the level to load.

### Remarks

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. Refer to [Order of execution for event functions](/engine/6000.5/manual/scripting/managing-update-order/execution-order.md) for more information regarding the calling sequence once a level is loaded.

```csharp
using UnityEngine;

public class Example : MonoBehaviour
{
    void LoadHighScoreLevel()
    {
        // Load the level named "HighScore".
        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](/engine/6000.5/script-reference/unityengine/object/dontdestroyonload.md). Calling LoadLevel will update  [Application.loadedLevel](/engine/6000.5/script-reference/unityengine/application/loadedlevel.md) and [Application.loadedLevelName](/engine/6000.5/script-reference/unityengine/application/loadedlevelname.md).

**Note:** Actual level change happens in the beginning of the next frame at the Inititialization stage prior to the first [MonoBehaviour.FixedUpdate()](/engine/6000.5/script-reference/unityengine/monobehaviour/fixedupdate.md) call (refer to [Order of execution for event functions](/engine/6000.5/manual/scripting/managing-update-order/execution-order.md)):

* 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.

Additional Resources: [Application.LoadLevelAsync](/engine/6000.5/script-reference/unityengine/application/loadlevelasync.md), [Application.LoadLevelAdditive](/engine/6000.5/script-reference/unityengine/application/loadleveladditive.md), [Application.LoadLevelAdditiveAsync](/engine/6000.5/script-reference/unityengine/application/loadleveladditiveasync.md).
