An open API service indexing awesome lists of open source software.

https://github.com/mygamedevtools/scene-loader

Enhance your scene loading experience with Unity.
https://github.com/mygamedevtools/scene-loader

editor editor-plugin loading package scene scene-manager unity unity-editor unity-package unity3d unity3d-plugin unityeditor upm upm-package

Last synced: 2 months ago
JSON representation

Enhance your scene loading experience with Unity.

Awesome Lists containing this project

README

          


My Scene Manager












## ⚡ Overview

**My Scene Manager** is a Unity package to **simplify** scene operations: **load**, **unload** and **transition**. In a quick example:

```cs
MySceneManager.TransitionAsync("my-target-scene", "my-loading-scene");
```

Instead of:

```cs
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](https://openupm.com/packages/com.mygamedevtools.scene-loader)**, **Git**, **Tarball** and the **[Unity Asset Store](https://assetstore.unity.com/packages/slug/313159)**.
Check the full installation guide in the [documentation](https://scene-loader.mygamedevtools.com/docs/next/getting-started/installation).

#### 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](https://github.com/mygamedevtools/scene-loader/releases) you want to install and download the `com.mygamedevtools.scene-loader-.tgz` asset.
2. Open `Window/Package Manager`.
3. Click +.
4. Select `Install package from tarball...`.
5. Select the `com.mygamedevtools.scene-loader-.tgz` file you downloaded.

#### Unity Asset Store

1. Obtain the package at the [Asset Store Page](https://assetstore.unity.com/packages/slug/313159).
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](https://scene-loader.mygamedevtools.com/).

## 🤝 Contributing

We welcome contributions! Please check our [contribution guidelines](./CONTRIBUTING.md).

## 📄 License

This project is licensed under the [MIT License](./LICENSE).