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:

7 Likes