# LoadSceneAsync(ContentNamespace, string, string, ContentSceneParameters, NativeArray<ContentFile>, JobHandle)

> Loads a scene serialized file asynchronously from disk.

## Definition

* **Type:** Method
* **Namespace:** [Unity.Loading](/engine/6000.3/script-reference/unity/loading.md)
* **Assembly:** UnityEngine.ContentLoadModule

```csharp
public static ContentSceneFile LoadSceneAsync(ContentNamespace nameSpace, string filename, string sceneName, ContentSceneParameters sceneParams, NativeArray<ContentFile> dependencies, JobHandle dependentFence = default)
```

### Parameters

**** (\[ContentNamespace]\(/engine/6000.3/script-reference/unity/content/contentnamespace)): The ContentNamespace used to filter the results.**** (\[string]\(https\://learn.microsoft.com/dotnet/api/system.string)): Path of the file on disk.**** (\[string]\(https\://learn.microsoft.com/dotnet/api/system.string)): The name that will be applied to the scene.**** (\[ContentSceneParameters]\(/engine/6000.3/script-reference/unity/loading/contentsceneparameters)): Struct that collects the various parameters into a single place.**** (\[NativeArray\<ContentFile>]\(/engine/6000.3/script-reference/unity/collections/nativearray1)): List of the ContentFiles that will be referenced by the file being loaded. The ordering must match the ordering returned from the build process. [ContentFile.GlobalTableDependency](/engine/6000.3/script-reference/unity/loading/contentfile/globaltabledependency.md) can be used to indicate that the PersistentManager should be used to resolve references. This allows references to files such as "unity default resources".**** (\[JobHandle]\(/engine/6000.3/script-reference/unity/jobs/jobhandle)): The load will not begin until this JobHandle completes.

### Returns

| Type                                                                                  | Description                                       |
| ------------------------------------------------------------------------------------- | ------------------------------------------------- |
| [ContentSceneFile](/engine/6000.3/script-reference/unity/loading/contentscenefile.md) | Handle to access the results of the load process. |

### Examples

```csharp
using System.Collections;
using Unity.Collections;
using Unity.Content;
using Unity.Loading;
using UnityEngine;
using UnityEngine.SceneManagement;

public class SampleBehaviour : MonoBehaviour
{
    public IEnumerator Start()
    {
        NativeArray<ContentFile> empty = new NativeArray<ContentFile>();
        ContentFile depFileHandle = ContentLoadInterface.LoadContentFileAsync(ContentNamespace.Default, "path/to/depfile", empty);

        var sceneParams = new ContentSceneParameters();
        sceneParams.loadSceneMode = LoadSceneMode.Additive;
        sceneParams.localPhysicsMode = LocalPhysicsMode.None;
        sceneParams.autoIntegrate = false;

        NativeArray<ContentFile> files = new NativeArray<ContentFile>(1, Allocator.Temp, NativeArrayOptions.ClearMemory);
        files[0] = depFileHandle;
        ContentSceneFile op = ContentLoadInterface.LoadSceneAsync(ContentNamespace.Default, "path/to/scene", "TestScene", sceneParams, files);
        files.Dispose();

        // wait until the async loading process completes
        while (op.Status == SceneLoadingStatus.InProgress)
            yield return null;

        op.IntegrateAtEndOfFrame();

        // wait one frame
        yield return null;

        // scene is now loaded and integrated ...

        // unload scene
        op.UnloadAtEndOfFrame();
        yield return null;

        ContentFileUnloadHandle unloadHandleDep = depFileHandle.UnloadAsync();

        while (!unloadHandleDep.IsCompleted)
            yield return null;
    }
}
```
