Who this book is for
I’m going to daringly assume that you’re a programmer, hobbyist, software engineer, game designer, or unicorn hybrid of all the above. You might be looking to advance your C# and/or game programming knowledge, getting ready for a promotion, or just trying to make your code more reusable, flexible, and professional.
The goal of this book isn’t to specifically teach you how to build applications, games, the ins-and-outs of the Unity engine, or even C# for that matter; it’s to teach you how to think, problem-solve, and implement systems in your code. C# is a great Object-Oriented language,
Unity is an engaging visual environment, and games are a fun way to learn, but these are all tools for us to learn and design better systems (with the help of design patterns).
Even though design patterns aren’t for complete programming beginners, once you have a basic competency in C# and Unity, it’s never too early to start thinking and learning about good software architecture. Chances are that the way you’re writing code right now could use a boost of optimization, flexibility, and efficiency. And that’s why you’re here, right?