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 bool HasPendingDeferredTransition { get; } // a deferred load is waiting for its fade-out public bool IsTransitioning { get; } // 0.4.0: a load is queued or loading, or its deferred fade-out is pending

IsTransitioning is how a caller waits out a load it started: it turns true on the request and false when the presentation ends (the loading screen starts fading out, at once, or on the deferred completion). Poll it, or listen for TransitionEnded.

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; public static Action TransitionEnded; // 0.4.0: a load's presentation ended (see IsTransitioning)

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