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.
- Host: GitHub
- URL: https://github.com/mygamedevtools/scene-loader
- Owner: mygamedevtools
- License: mit
- Created: 2022-09-14T00:59:44.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2025-03-24T22:22:45.000Z (about 1 year ago)
- Last Synced: 2025-03-30T06:04:18.700Z (12 months ago)
- Topics: editor, editor-plugin, loading, package, scene, scene-manager, unity, unity-editor, unity-package, unity3d, unity3d-plugin, unityeditor, upm, upm-package
- Language: C#
- Homepage: https://scene-loader.mygamedevtools.com/
- Size: 8.99 MB
- Stars: 110
- Watchers: 2
- Forks: 5
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
## ⚡ 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).