Book Review: Unity in Action: Multiplatform Game Development in C# with Unity 5

Programming Reviews This post may contain affiliate links. If you buy something we get a small commission at no extra charge to you. (read more)

The Unity Game Engine has been powering video games for over a decade. It’s one of the most popular game engine APIs used for browser games, mobile games, and even console games.

Unity in Action covers the Unity framework in detail using C# as the programming language as a guide. You will need experience writing C# before you even pick up this book. However if you already have that knowledge this book will help you put it to work in the field of game development.

I love this title and really think it’s one of the best Unity programming books on the market. It’s not really a beginner’s book, but it can get a fairly inexperienced programmer up to a level of competency where they can start creating games from scratch.

Book Contents

This is one of the best books you can pick up for Unity programming. It covers 352 pages with three larger sections: First Steps, Getting Comfortable, and Strong Finish.

In these three sections you get 12 distinct chapters that behave more like individual tutorials.

  1. Getting to know Unity
  2. Building a demo that puts you in 3D space
  3. Adding enemies and projectiles to the 3D game
  4. Developing graphics for your game
  5. Building a Memory game using Unity’s new 2D functionality
  6. Putting a 2D GUI in a 3D game
  7. Creating a third-person 3D game: player movement and animation
  8. Adding interactive devices and items within the game
  9. Connecting your game to the internet
  10. Playing audio: sound effects and music
  11. Putting the parts together into a complete game
  12. Deploying your game to players’ devices

Note this is not a beginner’s guide to programming. However it is a practical guide to Unity whether you have some experience with the game engine or none at all.

C# code snippets are used exclusively throughout the book to explain objectives and to teach you how to write proper code for the API.

In the first two chapters you’ll be writing very basic code and learning about the basics of Unity programming. This book pushes you right into the deep end of game development forcing you to think about 2D and 3D game programming.

unity 3d homepage

The content is very detailed but also approachable. I genuinely think programmers of any background can pick up this book and learn game programming from scratch.

Naturally you do need a background in logical programming, preferably with C# or C/C++. But if you have this and a willingness to learn you can go pretty damn far with this book.

By chapter 3 and beyond you’ll be completing little targeted tutorials made to help you learn specific development techniques. These tutorials are challenging but properly explained and well documented.

I really enjoyed the 5th and 6th chapters getting into Unity for 2D for side-scrollers and platformers.

When you get to chapter 10 you learn the audio interface and looping features within Unity. If you need audio resources check out our writeup on the GameDev Market which offers cheap game assets like sprites and audio files.

In the final chapters you learn the design process for completing a game and launching it. The final deployment chapters covers three different distribution areas: desktop games, web games, and mobile Android/iOS games.

Overall this book is exhaustive and powerful. It doesn’t teach you how to design game characters, objectives, levels, or game worlds. But it will teach you how to program all those things into a game once they’ve been created.

And this book helps you go beyond the code to actually learn the Unity interface. There aren’t many pictures of Unity so you do need to be adventurous if you’re new to the program. But if you follow the directions in each tutorial you will rapidly improve.

Unity in Action is really the go-to resource for programmers who want to build Unity games. The tutorial style writing forces you to learn a bunch of different coding techniques, and the Unity interface, within the course of a 350-page book.

Pros & Cons

My biggest pro for this book is the sheer amount of content. You really do learn everything needed to start building lucrative video games from the Unity engine.

There are some topics I wish were covered in greater detail like NPCs and simple AI mechanics.

However this is really an intro book to Unity for people who have never built a game in their life. And in this regard I think Unity in Action covers enough material to get you moving.

The author Joe Hocking doesn’t write in the clearest fashion. But I think it’s hard to do this in the world of game programming because there’s so much abstraction and complexity at every turn.

The depth of content is where this book really shines. Joe spares no expense forcing you to dig into the depths of Unity in all areas. You deal with player interactions, physics, 3D and 2D rendering along with online gameplay.

Joe doesn’t go into too much detail re-explaining previous lessons. He just moves right along and expects you to follow or do your own research to fill in the gaps.

Depending on your learning style this may appeal to you or be a huge turn off.

I also had trouble learning the Unity interface from this writing because there aren’t visuals like diagrams or screenshots. But with some patience you can find your way through it no problem.

I think the pros heavily outweigh the cons in this book. It just might be the best intro to Unity 5 for game programming.

Who Is This For?

I think this book fits well in the hands of anyone interested in game development. So many programmers get into enterprise environments for their career but always have that aspiration to pick up video game programming.

Unity in Action is the best intro book you can get on this subject. Tutorials go far beyond the Hello, World clichés by putting you into real situations with incredibly complex tutorials.

If you don’t know C# you can still get by so long as you understand C/C++ or Objective-C. Or if you at least understand a similar language like Python/Java you can take the time to learn C# while working through this book.

However this book is not for complete newbies. Unity is a powerful game engine. Professional programmers use this every day and you really need to understand the logic behind programming before you can use abstractions like the Unity API.

If you’re seriously passionate about game programming you should start with C# first. Go with a beginner’s guide like Head First C# or you could even do a video subscription to the Pluralsight C# course if you’re a visual learner.

But once you know the basics game programming is just one book away.

This book will please and delight those ready to tackle Unity with passion. It is challenging but it’s also incredibly rewarding if you put in the effort. Inexperienced programmers might also buy a copy but should first start by learning the basics of object-oriented C#.

Final Summary

If you’re serious about video game development on any platform I would highly recommend grabbing this book. Unity can be used to build simple mobile games or even console games for PS4 and Xbox.

Since this is such a complex system you do need to be ready for it. But if you already have some programming knowledge then you’ll have a much easier time getting into Unity.

Anyone interested in game programming for any medium will get a huge leg up with Unity in Action. The chapters break down into easy-to-follow tutorials and the lessons are easy to learn with practical examples.

As mentioned before I do not think it’s wise to start here if you have no programming knowledge. Dive into C# first. Once you feel comfortable with the basics of programming then grab a copy of this book.

Review Rating: 5/5


Alex is a fullstack developer with years of experience working in digital agencies and as a freelancer. He writes about educational resources and tools for programmers building the future of the web.