Learning C# by Developing Games with Unity 2021: Kickstart your C# programming and Unity journey by building 3D games from scratch
M**N
Readable, actionable and complete.
I chose to use “Learning C# by Developing Games with Unity 2021” by Harrison Ferrone for my introductory course in Game Scripting and Design at Columbia College of Chicago after reviewing other books that cover similar material. The author, Harrison Ferrone, writes very well which, to me, is as important as the technical material, because only good writing can capture the attention of the reader. There are at least two books that I passed over due to unfocused or overly chatty prose. “Learning C#...” succeeds in great measure due to the skillful writing and its’ organization.The book initially concentrates on elements of C# and general programming techniques that are essential for Unity Scripting and nearly any other programming application. Fortunately, Ferrone presents the C# exercises within manageable Unity-based examples. Placing the examples within Unity scripts should meet the expectations of readers who are itching to get into building games right away.Ferrone has the right approach for the Unity tutorials: his Unity examples cover techniques within the context of a script that can be completed within a quarter hour. This approach creates a positive feedback loop where the student keeps succeeding and encourages them to move forward. Many Unity books, that are otherwise good, sometimes use overly involved examples that cannot be completed without an hour or more of the readers’ time.The centerpiece of “Learning C#...” is the single game, “Hero’s Born”, which covers a third of the book. Ferrone breaks up important Unity concepts needed to learn Unity over four chapters that are about 30 pages that contain numerous screen snapshots. Using the single game, these four chapters, cover design, lighting, animation, movement, physics, AI, the role of the camera. The book successfully brings across the concepts of game object, components, and scripting for interaction.The last third of the book focuses on intermediate to advanced C# and programming concepts including data structures, persistence, generics, and functional programming techniques. In my experience the techniques covered will enhance the games of those who want to master scripting in Unity No single book on any subject, including Unity, can cover everything; the author knows this and provides links to resources for those who want to pursue more information. The reader of this book should gain a working knowledge of Unity that will serve as a foundation for game development and that will encourage them to keep progressing with game design and programming.Lastly this edition, the sixth, improves on the fifth edition, which I thought was too brief on important Unity and C# concepts that the author used references to cover. The 6th edition covers enough of that material before suggesting other resources.If you need a Unity tutorial for yourself or others this book will be well worth your time.
G**N
A clear, concise, primer on game development and programming.
Focused towards learning programming with C# as opposed to learning Unity. This books fills a particular niche, those who want to learn programming with C# through the task of making a game with Unity. The doesn't cover Unity in depth, but points you in the right direction if that is your goal.I found a few typos and minor errors, but for the most part it was clear, concise and explained with a human touch. I personally appreciated the author's style. This doesn't read like a dispassionate textbook, nor does it get psychological, introspective or cheesy. The author explains things in a simple, human style, as you would expect from a personal tutor or professor. I came into it with prior knowledge but I believe if I was a beginner it would be a good start.The last chapter is where advice is given on learning programming as a general concept, and I appreciated the message "identify as programmer" as long as you keep learning and thinking like one. I took a break from programming for 6 months or so, but for me this was the information I needed to get back into swing.Along the way, links to documentation, further reading, where to ask for help, and where to continue learning in the future is clearly stated. Some people complained that the screenshots were not very clear, but I didn't have any problem with that, they are clear enough without being a popup book, nor are the screenshots required to understand the code, as the steps are clearly stated.For the cons, I would say the author does a lot of hand holding, I would have liked more moments where it says "okay now try and figure this part out on your own", instead a lot of the code is first given, and then explained. For beginners, this makes sense, but I would have liked a bit more challenge. The last few chapters also go into some deeper concepts, and I feel the explanations here while clear, feel slightly rushed. For the more complicated techniques such as generics etc, more examples and explanation would have been nice. As it is now, they feel slightly tacked on.That being said, I came away from this with a lot, and I feel my time was well spent in working through the tasks. It opens a lot of doors for future learning.
G**L
If you are a beginner, stay away
I say this with utmost respect and appreciation. The writer is very knowledgeable in C#, but has very little ability to make it understandable for a beginner. Complex things are explained once, and the student is expected to remember it by heart after once. Sometimes things are not mentioned at all and then suddenly come up, as if they were said (a CTRL+F then proves the former). Not enough exercises and practice for each subject, and way too much descriptive text and discussion regarding unfamiliar topics (for the beginner).I suppose it is a good book for a medium-level C# programmer who wants to refresh his fundamentals, but for a complete beginner, it is incomprehensible. I tried my best not to give up on this book, but when the exercise asked me to do something I was supposed to know, did not explain how to do it in case I did not, and did not provide a solid example, I was stuck, and also - I felt like a bad student. I have recently finished my Master's Degree, so I could immediately tell the difference between bad learning and bad teaching. Here, unfortunately, is bad teaching, still with the utmost respect for the good will and the evident knowledgeability of the author. A beginner simply cannot learn like this.
J**N
Pretty comprehensive overview of C#, but lot's of coding typos
I like this book and think it is a good overview, but there are various code typos that throw errors when typed exactly as shown in the book. I've got lots of experience with other languages so I've been able to figure out what the author meant to type in the code, but it definitely poses a hurdle.
M**H
Amazing book
Very very well written.
R**E
Happy reading
Our son requested this book, I believe he is truly pleased with it.
Trustpilot
3 weeks ago
1 month ago