One of the big things that is no secret is that the Wave 4 demo hasn’t been doing so well regarding the overall performance. A big reason with that was that there was simply too much going on with physics calculations and the already relatively large map itself. So what were our options to try and improve the performance? There were a few ideas, of which some are still not fully implemented, but one of the biggest ones was a dedicated system that should handle the loading of our game scene(s).
One Reason Why Performance Was Bad
Let's start off with a little bit of background information on how Unity loads scenes. We are loading the game scene asynchronously so it doesn’t halt the game while being loaded. On first glance there doesn’t seem to be a problem with that. On second look though you will run into a big problem as soon as your scenes are getting larger. While the loading does indeed happen asynchronously and doesn’t freeze the game, the creation and placement of all objects is not asynchronous. You may know this as the long freeze that happened after creating your character in the Wave 4 demo.