Mastering Unity - Beginner's Guide aims to introduce developers of all ages to the beautiful and valuable world of Unity.
Mastering Unity covers creation of both three-dimensional (3D) and two-dimensional (2D) games, as well as interactive simulations and other experiences. Since Unity as an engine has been used in sectors other than video games, including cinema, automotive, architectural, engineering, manufacturing, and even by the armed forces, Mastering Unity focuses on a broader usage for Unity.
In this brief book, we have started with the setup and installation of Unity, followed by additional info related to its usage. Mastering Unity covers topics such as scene management, debugging, 2D and 3D physics, Unity Hub setup, and so on.
Considering the fact that C# is often the primary programming language used in Unity, the book covers object-oriented principles as well as C# coding at great length. That said, you can use any other language in Unity as well, such as JavaScript, Rust, or Mono. For the most part, Mastering Unity strives to be programming language-neutral, to help you fully understand the Unity concepts.
If you are an absolute beginner, Mastering Unity will help you understand the basics about Unity, its features, Technical Requirements, architecture, and the scripting language used in Unity in the first section of the book. Chapter 2 of the book focuses on Setting Up Unity, which encompasses installation, project creation, and launches of a project scene. Mastering Unity also talks about dealing with scenes and game objects, prefabs, and storing scenes, as well as animations in Unity, and performance optimization.
Beyond that, Mastering Unity will also help you learn how to test and release a game in Unity to various platforms.
Contrary to the title, this is not a beginner's book. The author seems to be quite knowledgeable and experience in programming. From a designer and gamer perspectives, he doesn't project as much. You can feel this in his writing style. It seems he is constantly looking for ways to project his intelligence in programming while trying to stay true to the "beginner's" mantra.
This is a relatively short book for such a vast and complex topic. 2D/3D gaming developing can be a very complicated project especially if you throw in coding aspects. He did because that is his strength. So, what you get in the book is a lot of code snippets without a lot of background explanation.
For instance, he has lines of code where objects were instantiated while passing in arguments into a constructor using the "new" keyword. To people new to coding, these syntaxes will look quite alien. Most newbies looking into Unity aren't really thinking code first, but the book seem to think that they do.
In the beginning of the book, several pages were dedicated to garbage collection. Again, not a newbie concern especially when this is done automatically.
Also, there were very little screen shots given to provide visuals for the written explanation on how to do things or the purpose of things. He would explain, using just words, objects in the editor and how they react with each other. Newbies will have a hard time picturing these verbal descriptions since they don't have much experience with the technologies.
I did enjoy certain parts of the book because it added to my knowledge of Unity. I do have a programmer’s background but I'm not sure if a newbie game developer would have the same opinion as me.
A very quick, short and simple overview of Unity Game Engine while maintaining the depth of understanding and long-term usable information. This book is like a very quick read for someone to get the entire domain knowledge for unity including understanding what to look for in game design, where to look for it in the documentation and how to make it happen using the Unity environment. Loved the clear and concise descriptions.