A multi-scene workflow/tool for using multiple scenes in one go in Unity.
Summary
Role: Sole Developer
Engine: Unity
Code Language: C#
Platforms: Unity
Studio: Carter Games
Downloads
Github: https://github.com/CarterGames/MultiScene
Itch: https://carter-games.itch.io/multi-scene
Multi scene is a scene management tool I first developed while in my job as Fumb Games & later took on as a personal project to release. The idea is to make working with multi-scene workflows a bit easier in Unity with a few editor tools & systems.
The development of the tool started with the Merge Motors project at Fumb Games, with the game split into 2 main scene groups with an extra group for entering the game. This proved to help a little with merge conflicts and more, however did prove to not be overly useful for the studio at the time as most projects just had 1 developer and the art team hovering between projects. That didn’t stop me from going on to develop it further, having used it in a variety of personal projects that I haven’t released. Its most useful for bigger titles on platforms with more resources like PC. While mobile does work, it does take a little longer to long on older devices that can hinder the game overall.
Currently, the tool has a fair few features that include:
- Multi scene management
- Loads groups of scenes together
- Some helper methods for getting if a scene is loaded
- Events for when scenes are loaded
- All static
- Scene grouping system
- Scriptable object-based
- Custom inspector for ease of use
- Group scenes together to be loaded by the manager
- Scene group loader window with categories & sorting
- Load a scene group in the editor at the press of a button via a custom editor window
- Organise & group scene groups together
- Show or hide groups of scene groups
- Easy to configure & use
- Cross scene referencing helper script
- Use familiar methods such as GetComponent between scenes with a custom version of those methods
- Custom Awake, Enable & Start interfaces
- Simulates the normal methods of the same name when all scenes have been loaded
- Can be used to sync any logic to multi scene loading
- Do not destory scene accessor
- Allows access to the do not destroy scene with all cross scene reference methods to match
- URP camera stacking support between scenes
- Stack URP camera between scenes