In development, we are limited by the hardware of the end user. Optimization of each model is key to making sure a project will run on more hardware types, but the sacrifice is sometimes difficult. Recently, I decided to model a dungeon scene, and an integral part of that scene was to create chains that hung from the ceiling of the cell with shackles attached. Of course, each link of a chain is rounded, as apparently many things are in a dungeon. Once modeled, the chains consisted of thousands of polygons which would seriously tax the video hardware if the scene was to launch on a mobile device, web-player or even a computer with sub-par gaming peripherals. To demonstrate, I will actually embed the dungeon scene into this post so you can see the lagginess.
Luckily, Unity’s editor will break down the statistics that can give you an idea of how something will run on some devices, and the manual has a section for video optimization, which we will discuss in this article. One of the best parts of designing within the Unity environment is the knowledge that you can build your game onto whichever platform you like, but just because your game works perfectly within the editor does not mean your target device will handle it correctly.
While every Unity developer will be able to access the statistics window (the button is at the top of the “game” window within the program), if you have access to Unity Pro, you will also be able to use the Profiler, which can really break things down for you. If you have access to such a useful tool, you’d be a fool not to utilize it. In this article I won’t be going into the Profiler (not all readers have access to it) so much as the statistics.
Before the breakdown, let’s take a look at the complete dungeon scene attempting to run in a web environment. Once loaded, click on the Unity window and you should have standard FPS controls and mouse look. When you’re finished, follow me onto page 2 and we’ll get into optimization ideas.