Chapter 16. Editor Extensions

Building games in Unity means working with a lot of game objects, and dealing with all of the components that those game objects are composed of. The Inspector in Unity already takes care of a lot: by automatically exposing all of the variables in your scripts as easy-to-use text fields, checkboxes, and slots for dropping in assets and scene objects, the process of assembling a scene is made a lot faster.

However, sometimes the Inspector isn’t enough of a solution. Unity was designed to make it as easy as possible to build things like 2D and 3D environments, but the developers of Unity can’t possibly predict all of the things that will go in your game.

Custom editors allow you to take control of the editor itself. This can range from very small add-on windows that let you automate common tasks in the editor, all the way up to completely overriding Unity’s Inspector.

When you’re creating a game more complex than the games we’ve built, we’ve found that it can be incredibly time-saving to write tools for yourself to automate repetitive tasks. That’s not to say that your main task as a game developer should be writing software to help make your game—your main task is to make your game! However, if you find yourself doing something repetitious or difficult to do with the existing Unity features, consider writing an editor extension to take care of it for you.


This chapter goes behind the scenes of Unity somewhat. In fact, we’ll be using classes and ...

Get Mobile Game Development with Unity now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.