Unity recently added some excellent 2D tools to their engine, which filled a hole that previously required third party plugins or a lot of effort for simple games. Now that we have these new tools, we need to learn how to use them. Simon Jackson, known for his Darkside Genesis blog and efforts in the Monogame community wrote a book that seeks to do just that.
I was recently given a copy of the book to read through and provide my thoughts so here they are in full. Hopefully they’re useful to you. Note that I won’t go in depth about the topics the book covers. These can be found on the Packt website for the book, which you can find a link for at the end of this post.
The main thing to note going into this book is that the “Mastering” title given by Packt is probably not that accurate. While the book does focus on the 2D aspect of Unity, it does also cover basic game development and programming concepts. Experienced developers looking to learn about the 2D system will find themselves skipping over parts of the text. Note that I’m not saying the book is a simple book, rather the opposite. The author goes in depth and covers a wide range of topics, so you will learn a lot, and may still pick up something new as an experienced developer.
To begin we’ll look at how the book is structured. You’ll be taken through the development of a 2D RPG game, and in the process will learn about the new 2D system in Unity, as well as the game development concepts required. The author does a good job of clearly explaining what is happening, and provides plenty of code snippets and screenshots to help.
You’ll go through the different aspects of the game such as battles, world maps, inventory and a few other topics. In this you’ll also learn about the different Unity systems required for this like sprite rendering, physics, UI and input. Audio is not covered however it is noted that Audio is getting some major changes in Unity 5, which is not covered by the book.
The book also goes a bit further with a chapter focused on editor scripting. This topic can be quite useful during game development and is a nice addition that is thankfully separate to the main section of the book. Details about post-build work are also included at the end of the book. Platform differences, and how to access Unity from the exported project is a nice touch, if a little disjointed. These chapters help to confirm my view that this book is aimed at beginners, with a focus on 2D.
I must emphasise again that if you follow the book, you should have an easy time understanding the concepts through the liberal use of code and screenshots. Concepts are explained right after a code snippet and object configuration details are provided in list form for easy review.
When explaining concepts about game design, such as shops and inventories, the game uses examples from existing games (although some are rather dated) to help you understand, which is a nice touch.
The author himself is heavily involved in various communities and maintains both a discussion forum and errata list for this title on his website (link below). If you’re confused by anything and have questions, there is a place for that and I consider that to be a nice addition to the book. Take note of the errata page (also linked below) as it covers a number of items that may be important, and will hopefully be kept up to date as Unity changes over time - at least within the life of the 4.x versions.
Should I Buy This?
This section is always an “It depends”. If you’re looking for a book that you can work through, learning topics along the way with a practical, example driven approach. This is the book for you.
If you want a reference on the new 2D system, or know your way around Unity and Game Development quite well, then you probably won’t get as much out of the book as you would like.
The author maintains an errata list on his website, which is useful in the ever changing world of Unity development. This list can be found here along with a discussion forum to get help from the author.