Right way for performance, divide scene?

I always favor breaking the scenes up and loading additively.

  • reduces overall memory consumption

  • lets multiple team members trample on each other less often

  • ensures clean “reset” of all objects in a fresh loaded scene

I’m working on a game now where we each have our own “content” level, the level we’re working on.

the content scene has all the lighting baked in.

Just press play and that level has one script that additively loads:

  • music scene (just an audiosource on autoplay)
  • the player scene (With controls and camera)
  • UI overlay (score)
  • pause button (could have been merged with UI overlay) <— the only one with an EventSystem.

It’s glorious. First thing the additive loader does is load a black “Loading” screen prefab while it additively loads all the others. We don’t do the loading screen as a scene because scenes always load the NEXT frame, so we would get a flash of our level when we first load it, but now it’s black until all is loaded.

Super slick, no fuss no muss.

If we want to extend in the future, all we need to do is download a fresh scene asset bundle and it’s done.

Here’s what we’re doing:

Here’s a related post I wrote as well about it:

9 Likes
Scenemanager
Running multiple scripts through one "parent" script - is this bad practice?
Best way to initialize HUD GameObjects?
Assetbundle *.asset
Minigame 'spawn'
ELI5 multiple / additive scenes..
LoadScene destroying whole scene
Help, Canvas settings and Scene, Canvas or GameObject style?
SceneManager.LoadSceneAsync() is unloading scenes when called
multiple Scenes vs 1 scene and multiple panels vs 1 scene vs multiple canvases?
Question about pseudo scene change
How to keep consistent skybox through scene transitions? (869499)
Daily Events and content changes
All objects have moved out on coordinate Z
How do you approach game design in Unity? WYSIWYG Principal?
Faster load times when reloading current scene?
Tutorial w/Alien Videogame Shop, Beachside, and Architectural Scenes
Getting rid of flickering when doing additive scene unloading and loading (Oculus Quest)
Append world data?
Best way to manage my levels
Transfer a gameobject between specific scenes
How do you pass run parameters into a scene when loading? (for a puzzle game with lots of puzzles)
Best practice for transitioning scenes in XR?
Rebuild of the same scene
Can't Find Subscene Creation
Problem with canvas management system
How to have different UI for different screen ratio
Pre-loading multiple scenes to avoid loading times
Loading levels (950158)
Unity Does Not Remove Unused Assets even they're if outside Resources folder
Adding guardrails around nested prefabs
Should the fields of a 2D RPG be divided into scenes?
Are 768 levels too many?
Implementing primitive subtitles
Best way managing panels
How should the menu of a Unity project be structured?
How to Organize Many Minigames in a Game
Switching between additive scenes
Handle scene management with Additive Scene
Anyone Know why Do Not Destory on Load dose this
2D open world - one single scene vs multiple scenes, performance concerns
Load / unload scene additively and set active the loaded scene ?
Help getting text boxes to change during scene changes
SceneManager - permanent level?
Unity Scene Merge Conflict With Git
How to apply light settings across ALL scenes without having to set each manually?
Bug? Duplicating Object Causes An Issue.
Fog working in editor but not in build
Best practices for communicating between scenes?
How to find nodes from different scenes is multi-scene?
Load StartUp-Scene VS Isolated-Scenes
Question on how to spawn Player at a specific point
Skybox and Fog Colour Change When the Scene Changes
Correct Method for Notifying Other Scripts of Game Start?
What's your "Loading strategy" ? (loading scenes, assets, performing long running operations, etc.)
Best way to handle common GameObjects
Need some advice about how to control different scene dependencies
Manage scene loading
Overall project structure for level based game
How to create a loading system with refrences to other instances?
Addictive Scene UI and Games
Maintaining DontDestroyOnLoad method after object becomes a child to another object.
What are some good practices for a healthy scene?
online LOAD: racetrack only when needed
Should I create different scene for different cutscene ?
Tilemap and loading scenes