Understand the fundamentals of C# programming and get started with coding from ground up in an engaging and practical manner
Key FeaturesBeginner's guide to getting started with software development concepts from a macro levelLeverage the power of the latest C# in solving the complex programming problemsLearn to script and customize your 3D games and implement animation techniques to make them engagingBook DescriptionLearning to program in today’s technical landscape can be a daunting task, especially when faced with the sheer number of languages you have to choose from. Luckily, Learning C# with Unity 2019 removes the guesswork and starts you off on the path to becoming a confident, and competent, programmer using game development with Unity.
You’ll start off small by learning the building blocks of programming, from variables, methods, and conditional statements to classes and object-oriented systems. After you have the basics under your belt you’ll explore the Unity interface, creating C# scripts, and translating your newfound knowledge into simple game mechanics.
Throughout this journey, you’ll get hands-on experience with programming best practices and macro-level topics such as manager classes and flexible application architecture. By the end of the book, you’ll be familiar with intermediate C# topics like generics, delegates, and events, setting you up to take on projects of your own.
What you will learnUnderstand programming fundamentals with practice examples in C#Explore the interface and features of Unity 2019Learn C# programming syntax from scratchCreate a game design document and prototype levelExplore intermediate programming topics and best practicesImplement game mechanics, interactions, and UI elements with C#Who this book is forThe book caters to developers and programmers who want to get started with C# programming in a fun and engaging manner. Anyone who wants to build games and script in C# language and Unity can take this book up. No prior programming or Unity experience is required.
Table of ContentsGetting to Know your EnvironmentThe Building Blocks of ProgrammingDiving into Variables, Types and MethodsControl Flow and Collection TypesWorking with Classes, Structs and OOPGetting Your Hands Dirty with UnityMovement, Camera Controls, and CollisionsScripting Game MechanicsBasic AI and Enemy BehaviorRevisiting Types, Methods and ClassesExploring Generics, Delegates, and BeyondThe Journey continues
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" помогают в обучении на много эффективнее.