Advanced Scene Manager OFFICIAL SALE

Documentation | Forum Thread | Discord


Check out -> Projects Made With Advanced Scene Manager


Want to get a feel for our asset before you buy? -> Try Before You Buy!


Unity 6 Ready!


Setting up additive scenes in Unity can be quite challenging due to the need for manual scene management, which involves handling scene loading and unloading using strings or indexes. Advanced Scene Manager (ASM) simplifies this process with powerful features that automate scene referencing and make managing multiple scenes easier. Unlike Unity’s built-in system, which requires tedious manual updates, ASM provides a more intuitive solution, allowing developers to focus on their creative vision without getting bogged down by setup tasks.


With ASM, you benefit from automatic scene referencing through a new API for both Editor and Runtime, including methods like scene.Open(), scene.Close(), and scene.Preload(). Managing multiple scenes is easy, eliminating the need for strings or IDs.

Forget keeping track of build indexes, let us handle that!


ASM optimizes memory usage by loading scenes on demand, preventing large scenes from consuming too much memory. This ensures better memory management during runtime and in the editor. It also allows you to set background priorities for scene loading and includes improved callbacks to reduce loading stutter.


A key feature is "Scene Collections," which lets you load and unload multiple scenes at once with simple commands like sceneCollection.Open() or Unity events, making your tasks easier.


Installation is straightforward, just add ASM, and you're ready to go with no complicated setup required. Designed for user-friendliness, ASM is perfect for developers wanting to use the power of additive scenes in their projects.


ASM has been refined over the years based on valuable feedback, ensuring it meets your needs for the best scene management experience.



Main Features


Simple Integration

Integration is a breeze, once installed, you’re ready to go with no prefabs to set up. Build index is automatically managed, and we handle all scene management in the background.


• Additive Scene Loading by Default

Scenes are loaded additively by default, which help memory management by loading only the scenes you need rather than all at once. This approach prevents large scenes from consuming excessive memory and ensures efficient use of resources both during runtime and in the editor.


By breaking scenes into smaller, manageable pieces, you keep your project organized and reduce merge conflicts, allowing you to focus on one section at a time.


• Loading Screens

Creating custom loading screens for your game is straightforward. You can set a default loading screen, override it per scene collection, or manually open specific screens as needed. Unlike traditional methods that use just a canvas, you can utilize actual scenes for loading screens, offering greater flexibility and customization.


Implementing custom loading screens is simple with `OnOpen` and `OnClose` coroutines, allowing you to control transitions and displays. There are plenty of examples available to help you learn and effectively implement these features. Tailor your loading experience to fit the needs of your game effortlessly.


• References and Cross-Scene Referencing

Effortless scene referencing is a key feature. Simply drag and drop your scenes wherever needed for quick and easy access. Cross-scene referencing is also supported, allowing seamless connections between different scenes for more flexible and dynamic game development.


• Improved Callbacks

Leverage our built-in ISceneOpen and ICollectionOpen callbacks to manage heavy loading tasks efficiently by spreading them across multiple frames. For instance, you can use ICollectionOpen to trigger the start of gameplay only when all scenes are fully loaded and ready, ensuring a smooth and uninterrupted experience.


• Extensive API

Our new API makes managing scenes more intuitive and efficient. Key methods include scene.Open(), scene.Close(), and scene.Preload(). For example, you can use sceneToOpen.Open().Close(closeAlreadyOpenScene).With(loadingScreenScene) to seamlessly open a new scene, close an existing one, and display a loading screen, all in a single, fluid command.


• Easy to Use

Advanced Scene Manager is designed for simplicity, allowing you to manage scenes effortlessly without needing to directly interact with the API. With our Unity event helpers, you can easily handle scene transitions, including opening and closing scenes, managing scene collections, and setting up automatic loading screens, all through intuitive event-driven actions. This approach ensures that you can focus on your game’s development while integrating complex scene management features with minimal coding. Whether you're working with individual scenes or multiple scene collections, our tools make the process straightforward and simple.



Community

Discord and forum are where you can send us feedback and suggestions, chat about improvements and new features, and get help getting the most out of our assets or other projects.


Make sure you check out Discord for the latest patches before they go live!