My Scene Manager is a Unity package to simplify scene operations: load, unload and transition. In a quick example:
MySceneManager.TransitionAsync("my-target-scene", "my-loading-scene");
Instead of:
yield return SceneManager.LoadSceneAsync("my-loading-scene", LoadSceneMode.Additive);
yield return SceneManager.LoadSceneAsync("my-target-scene", LoadSceneMode.Additive);
SceneManager.SetActiveScene(SceneManager.GetSceneByName("my-target-scene"));
SceneManager.UnloadSceneAsync("my-loading-scene");
SceneManager.UnloadSceneAsync("my-previous-scene");
- Seamless Scene Transitions: Transition between scenes with ease, with optional loading scenes for a smooth user experience.
- Addressable and Non-Addressable Scene Support: Manage both addressable and non-addressable scenes through a unified API.
- Async/Await Support: Fully compatible with async/await for smooth, non-blocking scene operations.
- Loading Screens: Easily build loading screens with built-in components.
- Modular Design — Use only the components you need, fully customizable.
You can install the package via OpenUPM, Git, Tarball and the Unity Asset Store. Check the full installation guide in the documentation.
- Open
Edit/Project Settings/Package Manager
. - Add a new Scoped Registry (or edit the existing OpenUPM entry):
Name: Open UPM URL: https://package.openupm.com Scope(s): com.mygamedevtools
- Click
Apply
. - Open
Window/Package Manager
. - In the left column, select
Open UPM
insideMy Registries
. - Select
Advanced Scene Manager
underMy GameDev Tools
. - Click
Install
.
- Open
Window/Package Manager
. - Click +.
- Select
Install package from git URL...
. - Paste
https://github.com/mygamedevtools/scene-loader.git#upm
into url. - Click
Add
.
- Choose the release you want to install and download the
com.mygamedevtools.scene-loader-<release>.tgz
asset. - Open
Window/Package Manager
. - Click +.
- Select
Install package from tarball...
. - Select the
com.mygamedevtools.scene-loader-<release>.tgz
file you downloaded.
- Obtain the package at the Asset Store Page.
- With your Unity project open, click
Open in Unity
. - The
Package Manager
will open with the package selected. - Click
Download
orUpdate
, depending on the local cache. - Click
Import
. - Make sure everything is selected and click
Import
again.
Note
When updating from the Asset Store, make sure to remove the previous version completely before adding the updated version.
The detailed documentation including usage guides, examples, update guides, and tutorials are available in the official documentation.
We welcome contributions! Please check our contribution guidelines.
This project is licensed under the MIT License.