Preface
In the past few years, Unity has proved itself to be a versatile, user-friendly platform for game production and other interactive applications. With it, developers can rapidly assemble game menus and interfaces, build levels, animate characters, and define how these elements interact with each other.
Compared to other development tools, Unity is artist-friendly, centering on a Scene viewport window and controls that will be familiar to anyone who has worked with 3D software. Like all game engines, it requires scripting to enable any complex functionality, but coding can quickly be tested and adjusted making for a less-frustrating experience for anyone from a non-programming background.
Unity's easy-to-learn drag and drop functionality has endeared it to enthusiasts and professionals alike. Its multiplatform publishing capabilities streamlined the creation of all sorts of games played on PC, Mac, iOS, Android and consoles.
The personal edition of Unity can be downloaded for free, making it suitable for entry-level game developers. The online manual and scripting reference, in addition to the thriving developer community, make it easy to find support and get queries answered.
The addition of Mecanim to Unity gives the independent game developer an even more expansive toolset, making it possible to handle a significant part of the character animation process without the use of additional software. It makes retargeting, retiming, and adjusting existing animations a simple task without the usual problems that accompany importing and exporting data between applications.
The modeling toolset within Unity is extremely limited—primitive objects such as spheres, cubes, and planes can be assembled—but if it is the actual modeling and texturing of characters and levels that you are most interested in, you will need a general 3D package such as 3ds Max, Maya, or blender. These aspects of building a game are well addressed in other publications.