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

> Loads a scene serialized file asynchronously from disk.

## Definition

* **Type:** Method
* **Namespace:** [Unity.Loading](/engine/6000.5/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.5/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.5/script-reference/unity/loading/contentsceneparameters)): Struct that collects the various parameters into a single place.**** (\[NativeArray\<ContentFile>]\(/engine/6000.5/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.5/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.5/script-reference/unity/jobs/jobhandle)): The load will not begin until this JobHandle completes.

### Returns

| Type                                                                                  | Description                                       |
| ------------------------------------------------------------------------------------- | ------------------------------------------------- |
| [ContentSceneFile](/engine/6000.5/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;

namespace BuildDocExamples
{
    public class ContentLoadInterface_LoadSceneAsyncExample : 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;
        }
    }
}
```
