On this page
Tools to fix problems and make sense of your architecture
As a developer on Unity’s Sustained Engineering team, I’ve helped many customers improve their scripting. The tips on this page are my top three; follow these for more efficiency in your development, and less pain! - Richard Fine
Learn to use the debugger effectively
While you can go a long way diagnosing problems using Debug.Log, the debugger can help you diagnose a problem faster and in more depth. If you’ve never used it before, we have guides for both MonoDevelop and Visual Studio – and if you have, I recommend taking the time to explore all the things the debugger will let you do, such as setting conditional breakpoints or using the Immediate window.
Add the ScriptableObject class to your mental toolbox of scripting techniques
The ScriptableObject class is an often-overlooked part of the Unity API. Understanding ScriptableObject can help you to build a much cleaner, more elegant architecture; it can help you to keep things simple, be more data-driven, and achieve a better separation of concerns in your project. For a full explanation of ScriptableObject, plus examples of how you might apply it, see my Unite talk. There’s also a video class from Unity’s Learn team.
Optimize throughout your development process, not just at the end
Sometimes the right answer to a performance problem is to change your game’s design, and the later in the project you optimize, the harder it will be to make that kind of change. When you’re optimizing, the Stats window in the Game view is a good start, but to really understand your problems you should use the Profiler–there’s a huge amount of information packed in there–and to get the most accurate results, you should profile your game while it is running as an actual build, rather than in the Editor.
The Profiler window