While perhaps not as glamorous a job as being a gameplay programmer, a tools programmer can make your game development experience much more enjoyable. They truly are the unsung heroes of game development. In fact, AAA studios heavily rely on using tools to make aspects of game development easier to use for designers and artists. Tools also help to reduce tediousness in the creation of content for game projects.
While these tools were often created as separate programs to be run in conjunction with the game engine in the past, one of the things I love about working with the Unity game engine is the fact that with some fairly trivial scripting, you can extend the editor. This allows users to tailor the editor to suit their project's needs and requirements. Additionally, just as Unity was originally created for a game project but grew into a lot more, the custom tools readers will go on to create applications that have the possibility to be extraordinarily successful on Unity's Asset Store, much like NGUI, Playmaker, ProBuilder, and UFPS.
Since I started working with Unity in 2007, I have worked with a lot of tools and have done a fair bit of tools programming personally. While creating my own tools, I often needed to do extensive external research and come up with a lot of things on my own because most of the necessary information was not documented well. I am exuberant that someone has compiled the majority of this information into one place.
Over the course of this book, you will see how you can create your own custom tools starting with simple ones such as gizmos, then moving on to customize the Inspector for the different components you add, and learning how to create your very own Windows with their own custom GUI. Angelo has broken down the concepts and has made it quite easy to see when you would want to use these tools. Throughout this book, he shows practical examples of when you would want to use these particular features from their inception to getting published on the Asset Store. He has also included additional tips and tricks along the way, such as how to set up Git, easily make multiple builds of your projects, as well as get your project up on mobile devices in a flash.
Reading Angelo's work, I am not surprised by the range of content covered in this book. His work as a lead engineer for DeNA as well as his strong technical background, no doubt, gave him the knowledge needed to get this book out to the world. The breadth of content included in this book will give you a strong foundation on which you can build your own tools.
Gifted tools programmers can make all the difference in the world of game projects. This book provides a roadmap on how you can get there.
John P. Doran
Technical Game Designer
Author of Unity Game Development Blueprints and Mastering UDK Game Development