Honestly I’m not sure why I bothered with this book. It’s not that it was a bad read per se, but it’s really for stark beginners. Learning C# by Developing Games with Unity 3D by Terry Norton is really for people that have little or no experience with programming. Meaning if you don’t know what a ‘variable’ or a ‘method’ is then this book will probably be helpful. It’s really intended for artists using Unity who want to add some scripting skill to their knowledge. If you are already a capable programmer (in C# or not) then this book will probably not be that helpful.
Personally I’ve been programming in many languages for years, however I’ve only really dabbled with C#. So I figured this book could be a good refresher. Unfortunately it is on such a basic level that it doesn’t really cover the features that make C# unique. If you have any programming experience the text will seem remedial. Some of the topics in the book include: variables, functions/methods, classes, and dot syntax. The main example project covers creating a state machine to handle switching between different screens. In actuality, this is a good introduction to programming though it doesn’t teach you nearly enough to be able to start creating a complete game in Unity. However, it is called a ‘beginner’s guide’ so it’s not like it was mislabeled.
Learning C# by Developing Games with Unity 3D comes in at just under 300 pages, so it is not a long read. I think I finished it up in less than a week. So I’m not terribly upset about taking my time to check this out. To the book’s credit, I did learn one new trick: how to have a component act as a singleton, so I did gain something. I do think if you are an artist with no previous programming knowledge, this could be a great intro into the field. However, to get anything serious done you will still need some other books to take you to the next level. Overall not a bad book, but if you’ve already be coding for any period of time you can probably skip it.