Multi Scene

A multi-scene workflow/tool for using multiple scenes in one go in Unity.

Role: Developer

Team Size: 1

Studio: Carter Games (Personal Project)

Engine: Unity (C#)

Platforms: Unity Asset Store

Dev Time: 2-3 Months (Ongoing)


Summary

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

Software Used