Skip to content

mygamedevtools/scene-loader

Repository files navigation

My Scene Manager

⚡ Overview

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");

🚀 Features

  • 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.

📦 Installation

You can install the package via the Unity Asset Store, Tarball, OpenUPM and Git. Check the full installation guide in the documentation.

Unity Asset Store

  1. Obtain the package for free at the Asset Store Page.
  2. With your Unity project open, click Open in Unity.
  3. The Package Manager will open with the package selected.
  4. Click Download or Update, depending on the local cache.
  5. Click Import.
  6. 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.

Tarball (UPM Signed)

  1. Choose the release you want to install and download the com.mygamedevtools.scene-loader-<release>.tgz asset.
  2. Open Window/Package Manager.
  3. Click +.
  4. Select Install package from tarball....
  5. Select the com.mygamedevtools.scene-loader-<release>.tgz file you downloaded.

OpenUPM (UPM Signed)

Note

OpenUPM republishes the signed tarball from each GitHub release unchanged. Versions published before signing was introduced remain unsigned.

  • 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 inside My Registries.
  • Select My Scene Manager under My GameDev Tools.
  • Click Install.

Git (UPM Unsigned)

  1. Open Window/Package Manager.
  2. Click +.
  3. Select Install package from git URL....
  4. Paste https://github.com/mygamedevtools/scene-loader.git#upm into url.
  5. Click Add.

📚 Documentation

The detailed documentation including usage guides, examples, update guides, and tutorials are available in the official documentation.

🤝 Contributing

We welcome contributions! Please check our contribution guidelines.

📄 License

This project is licensed under the MIT License.