I was asked if I would give a book a look over – and given the topic, I couldn’t refuse. Unity Game Development Essentials, by Will Goldstone was released by Packt Publishing – and can be found just about anywhere. It has a cover price of $49.99 - you can get a slight deal if you grab it from here, but I would check amazon for pricing as they often drop quickly there.
The book is geared for those with essentially no Unity3D experience – but might be useful to some who are starting out and would like to learn a little bit more about some of the tools that are available. Don’t worry if you have no 3D experience, the book will walk you through the very basics – and honestly, not much programming experience is needed, as even the most basic concepts are covered in sections that use scripting – a good choice as many designer/developers find interest in such a user friendly product as Unity3D. Obviously, to make the most of the engine, you will want to beef up on those skills.
Unity Game Development Essentials (UGDE) covers a fairly broad number of topics, starting with basic 3D concepts and the Unity Editor. It moves into topics such as terrain, basic physics, and interacting with 3D elements in your world. Next, particles, audio, and GUI are covered, giving a pretty broad brush stroke of what is available in Unity3D. Each set of topics is divided into a small demo scenes, which can also be downloaded via a link found in the front of the book, and can be useful for following along with. You will quickly learn how components are used in Unity, and how you can script basic scenarios, which could be useful in the context of a larger game.
The book itself is nicely organized, and will look good on your bookshelf (for those that care about that kind of thing). It has a plethora of pictures and included (via download) project files that help you get on your way. Each section is dedicated to a specific topic, so it is easy to jump around to something that more specifically interests you, say, if you already know how to use an FPSWalker. It is a short book, as it only touches the basics of most of the features – coming in at about 280 pages (with relatively large font) – but I wouldn’t consider that a deterrent as the content is sound.
UGDE is a great book for those who are picking up Unity3D for the first time or coming from more of a design background. It provides clear, concise explanations of many of the topics you probably want to know when developing your own game. It walks you through the editor nicely, showing how the different panels and controls are used. Unity can be a bit of a tricky paradigm to figure out, especially if you come from a more OO world and aren’t use to the scripting nature of the engine. UGDE provides some clever projects for you to develop, however, and by the end of the book you should have a pretty good understanding of what you can do with Unity3D. My personal favorite chapter is the chapter dealing with interaction in your world. UGDE shows two approaches to opening doors with triggers/colliders, as well as an introduction into some basic animation. Ray colliders, for bullets, are covered, and even some animation control is sprinkled in. But there are some other fun worlds, where you can light your campfire, and throw coconuts at targets.
The only real shortcoming of the book is that I wish there was more! Unity3D is a very expansive engine, so while it is impossible to cover everything, there are a few things I wish were talked about a bit more. Shaders, for instance, are not discussed in any shape or form, despite being a very common 3D game element. A chapter on simple shader development (or even the included shaders), and a look at how they are used in Unity would be a very nice addition. Another area I felt could have used more pages was performance. Performance is a huge issue with game development, and there are many tips and tricks that would be nice for someone getting into Unity to know about. It would also have been nice if there was at least a small section dedicated to iPhone specific projects, and the asset server – but those might be more niche than was intended for this printing.
Despite not going into as much depth as I might like, if you are brand new to Unity3D, or 3d game programming in general – I would highly recommend this book. With a nice broad range of topics and a very easy-to-understand flow, I think it could really help someone starting out. If you have been using Unity for a while, and are hoping for some nice gems to help with your development, this probably isn’t the book for you. That said, I feel Will did a great job for artists and designers – who are the real target audience.
I haven’t covered hardly anything about Unity on my blog – but plan on it pretty soon – as it is something I have been working VERY extensively with lately. If you are interested in learning more – I would seriously consider picking up this book, then hopefully I can start picking up where it leaves off.