Search Unity

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

More resources

Before I sign off, here are a couple more links you might want to check out:

We just gotta know! Did you like this content?

Yes. Keep it coming Meh. Could be better
Got it

We use cookies to ensure that we give you the best experience on our website. Click here for more information.