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 OpenUPM, Git, Tarball and the Unity Asset Store. Check the full installation guide in the documentation.

OpenUPM

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

Git

  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.

Tarball

  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.

Unity Asset Store

  1. Obtain the package 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.

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