Scene Management

Simple scene loader for default single scene workflow.

Powerful multi-scene manager for addressable scenes.

SceneLoader

Singleton scene loader for default single scene workflow.

Public Methods

csharp
public void LoadScene(string sceneName, SceneTransition sceneLoadTransition, bool deferFadeOutUntilManualComplete = false) public void LoadScene(int sceneIndex, SceneTransition sceneLoadTransition, bool deferFadeOutUntilManualComplete = false) public bool IsLoaded(string sceneName) public bool IsLoaded(int sceneIndex) public bool TryCompleteDeferredLoadingTransition() // runs a pending deferred fade-out; false if none public void CompleteDeferredLoadingTransition() public static void FadeOutTransitionByKey(string transitionKey) // cold-start fallback hide

When deferFadeOutUntilManualComplete is true, the loading transition's fade-out is held until you complete it manually — call TryCompleteDeferredLoadingTransition(), or (the usual way) place a RevealLoadingScreenNodeSO in the loaded scene's sequence so the loader hides only once the nav graphs are ready. See Loading.

Events

csharp
public event Action<string, int> OnSceneLoad; // Scene name and index, on completion public event Action<float> OnLoadProgress; // 0..1 during the async load (rescaled from Unity's 0..0.9)

SceneLoaderAddressable

Singleton scene loader for addressable scenes. Supports multiple scene loading and unloading at a single request.

Public Properties

csharp
public List<SceneSO> LoadedScenes { get; } // For debug purposes only, visible in editor, do not modify.

Public Methods

csharp
public void LoadSceneRequest(List<SceneSO> scenesToLoad, List<SceneSO> scenesToUNNLoad, SceneTransition sceneLoadTransitionType, bool deferFadeOutUntilManualComplete = false) public void LoadScene(List<SceneSO> scenesToLoad, SceneTransition sceneLoadTransitionType, bool deferFadeOutUntilManualComplete = false) public void LoadScene(SceneSO sceneToLoad, SceneTransition sceneLoadTransitionType, bool deferFadeOutUntilManualComplete = false) public void LoadScene(SceneSO sceneToLoad) public void UnLoadScene(List<SceneSO> scenesToUNNLoad, SceneTransition sceneLoadTransitionType, bool deferFadeOutUntilManualComplete = false) public void UnLoadScene(SceneSO scenesToUNNLoad, SceneTransition sceneLoadTransitionType, bool deferFadeOutUntilManualComplete = false) public void UnLoadScene(SceneSO scenesToUNNLoad) public void LoadSceneAndUnLoadCurrent(SceneSO sceneToLoad, SceneTransition sceneLoadTransitionType, bool deferFadeOutUntilManualComplete = false) public void LoadSceneAndUnLoadCurrent(List<SceneSO> scenesToLoad, SceneTransition sceneLoadTransitionType, bool deferFadeOutUntilManualComplete = false) public void UnloadAllCurrent(SceneTransition sceneLoadTransitionType, bool deferFadeOutUntilManualComplete = false) public void SetActiveScene(SceneSO scene) public bool IsLoaded(SceneSO gameSceneSO)

Events

csharp
public static Action<List<SceneSO>> SceneReadyEvent; public static Action<List<SceneSO>> SceneUnloadEvent;

Settings

Theme

Light

Contrast

Material

Dark

Dim

Material Dark

System

Sidebar(Light & Contrast only)

Light
Dark

Font Family

DM Sans

Wix

Inclusive Sans

AR One Sans

Direction

LTR
RTL