Publisher's note: This edition from 2020 is outdated and does not make use of the most recent Unity and C# features. A new sixth edition, updated for Unity 2021 and including new advanced C# topics, such as reading, writing, and serializing data, has now been published. Over the years, the Learning C# by Developing Games with Unity series has established itself as a popular choice for getting up to speed with C#, a powerful and versatile programming language that can be applied in a wide array of application areas. This book presents a clear path for learning C# programming from the ground up without complex jargon or unclear programming logic, all while building a simple game with Unity. This fifth edition has been updated to introduce modern C# features with the latest version of the Unity game engine, and a new chapter has been added on intermediate collection types. Starting with the basics of software programming and the C# language, you'll learn the core concepts of programming in C#, including variables, classes, and object-oriented programming. Once you've got to grips with C# programming, you'll enter the world of Unity game development and discover how you can create C# scripts for simple game mechanics. Throughout the book, you'll gain hands-on experience with programming best practices to help you take your Unity and C# skills to the next level. By the end of this book, you'll be able to leverage the C# language to build your own real-world Unity game development projects. If you're a developer, programmer, hobbyist, or anyone who wants to get started with C# programming in a fun and engaging manner, this book is for you. Prior experience in programming or Unity is not required.
This was a really great book! I actually already knew most of it because I learned to create games in Unity once before, but that was a long time ago. 😅 Still, I learned new things too and I really enjoyed practicing my skills with the book. Also, the author seems really nice. Even though the book is a bit older, it's about the basics and so it's okay if it's a bit older. The Unity design hasn't changed much either, so I highly recommend this book for beginners! (But beware, this is mainly about C# and only a little bit about game development. So you will learn more about programming in relation to game development than about game development alone)
There is a really nice quote at the beginning of the book. I really feel that as a developer. Here it is: "There is something to the idea that learning to code fundamentally changes the way you look at the world."
I’ll begin with a bit of background. I have done some short courses on game design using Python and Java, and I have a book by the same publishing company on designing Android games using Java. I also did a short online course on game design using Unity and C# before I bought this book. However, I am very far from being proficient, never mind an expert. I must admit it took me several months to finish this book, but that was because there were long periods where I was preoccupied with work and other issues. I found that when I sat down with the book and with my Unity engine and Windows Visual it was surprisingly easy to follow and I made good progress. As you work through the book, you create a simple adventure game, so the theory is put into practice immediately. The author explains complex concepts very clearly and then illustrates them with chunks of code, which he then explains line by line. He also covers the mechanics of the Unity engine very well, so you get plenty of practice designing a game landscape and very simple characters. One thing he doesn’t cover – that was covered in the online course I did – is how you can import assets from a Unity store or other sources (many of them free) such as fully formed characters and items such as rucksacks, clothes etc. so you don’t need to design them yourself. So, in this game the characters are essentially shape like my fish oil capsules, but they move around and fire things and collect things. To use this book, you need to download the Unity engine, which is free and is frequently updated. Once you have that on your device you can build games without any code and you can import assets from various sources. You can design 2D or 3D games. However, without any code, your game can only be very simple. To develop a sophisticated game, you will need to use code and C# is the main programming language for Unity. To write your code you will need to download Windows Visual Studio. I could get this for free as I have a Windows 365 subscription but you might have to buy a licence if you don’t have that subscription. If you’ve used other code writing tools like Android Studio or Apache Netbeans, you’ll soon get the hang of Visual Studio. If not, I suggest you take some time to familiarise yourself with it. Once you start writing out the code provided in this book, you’ll soon get the hang of it. Please note that you can download free supporting materials for this book. Those materials include the complete scripts for the game. This means you can cheat and just copy and paste the author’s code into Visual Studio. I would advise against that. I suggest you write out the code yourself and then use the scripts to find out what’s gone wrong if you get an error message. Like other code writing tools Visual Studio will show you where you’ve made an error and may suggest a remedy, but note that the suggested remedies are not always correct. Most remedies come from missing a “;” at the end of a line or using upper or lower case letters when you should use the opposite. Missing out curly brackets is my biggest downfall and can often lead to about 20 error messages. These will all disappear when you get your curly brackets right. Throughout the book the author makes frequent reference to additional information you can find in the Unity user manual and other sources. He also points out that there is a vast community of developers out there on GitHub and StackOverflow who are always willing to help other struggling with a coding problem or with the Unity engine itself. At the end of the book he lists several areas of C# coding that are not covered in the book. He also gives advice on next steps, including getting Unity certifications if you want to become a professional game designer. I would recommend this book to anyone who wants to learn C# or Unity game design or both. If you have little or no experience of programming or game design, don’t worry. The author does a great job of guiding even someone as clueless as me.
Better than some others I have read. The earlier parts are better, though I did pick up a few useful things throughout. I wouldn't recommend this for absolute beginners; check out Tom Francis' freeUnity tutorials on YouTube if you're totally new to game development. The first half of the book seems to be steering you towards developing some kind of fantasy RPG, then halfway through it switches totally and you're doing some kind of, like, stealth action game, and all the earlier stuff like inheritance is abandoned. I think the author would do better to stick with one project through the whole book, and keep layering on new concepts. Still, I did learn some things, and ended up with a nice little project I'd made by the end.
Pretty high quality work, especially at the beginning. Loses steam once it begins to near the end: some of the examples are only the most surface level abstract use cases and don't actually do anything. Would be better if they could incorporate more robust examples for delegation, generic overloading, and events.
Книга носит скорее ознакомительный характер, чем практический к применению в разработке. Я думаю, что она может подойти тем, кто только начал свой путь в изучении программирования на языке C# и разработки игр на "Unity", однако, на мой взгляд, видео уроки и советы на "Youtube" помогают в обучении на много эффективнее.