Legacy Documentation: Version 5.2
LanguageEnglish
  • C#
  • JS

Script language

Select your preferred scripting language. All code snippets will be displayed in this language.

Application.LoadLevelAdditiveAsync

Suggest a change

Success!

Thank you for helping us improve the quality of Unity Documentation. Although we cannot accept all submissions, we do read each suggested change from our users and will make updates where applicable.

Close

Sumbission failed

For some reason your suggested change could not be submitted. Please try again in a few minutes. And thank you for taking the time to help us improve the quality of Unity Documentation.

Close

Cancel

Switch to Manual
public static function LoadLevelAdditiveAsync(index: int): AsyncOperation;
public static AsyncOperation LoadLevelAdditiveAsync(int index);
public static function LoadLevelAdditiveAsync(levelName: string): AsyncOperation;
public static AsyncOperation LoadLevelAdditiveAsync(string levelName);

Parameters

Description

Loads the level additively and asynchronously in the background.

Unlike LoadLevelAsync, LoadLevelAdditiveAsync does not destroy objects in the current level. Objects from the new level are added to the current scene. This is useful for creating continuous virtual worlds, where more content is loaded in as you walk through the environment.

Unity will completely load all assets and all objects in the scene in a background loading thread. This allows you to create a completely streaming world where you constantly load and unload different parts of the world based on the player position, without any hiccups in game play.

isDone variable from the resulting AsyncOperation can be used to query if the level load has completed. The result of a LoadLevelAdditiveAsync can also be used to yield in a coroutine.

When building a player Unity automatically optimizes assets in such a way that LoadLevelAdditiveAsync will load them from disk linearly to avoid seek times. Note that background loading performance in the Unity Editor is much lower than in the web player or standalone build. In the Editor you might also get more loading hiccups than in the player.

	function Start () {
		// Load the level named "MyAddLevel".
		var async : AsyncOperation = Application.LoadLevelAdditiveAsync ("MyAddLevel");
		yield async;
		Debug.Log ("Loading complete");
	}
using UnityEngine;
using System.Collections;

public class ExampleClass : MonoBehaviour { IEnumerator Start() { AsyncOperation async = Application.LoadLevelAdditiveAsync("MyAddLevel"); yield return async; Debug.Log("Loading complete"); } }
Copyright © 2023 Unity Technologies
优美缔软件(上海)有限公司 版权所有
"Unity"、Unity 徽标及其他 Unity 商标是 Unity Technologies 或其附属机构在美国及其他地区的商标或注册商标。其他名称或品牌是其各自所有者的商标。
公安部备案号:
31010902002961