/game-programming-patterns-demo

A repo of small demos that assemble some of the well-known design patterns in Unity development to support the ebook "Level up your code with game programming patterns"

Primary LanguageC#

Level up your code with game programming patterns

When working in Unity, you don’t have to reinvent the wheel. It’s likely someone has already invented one for you. For every software design issue you encounter, a thousand developers have been there before. While you can’t always ask them directly for advice, you can learn from their decisions through design patterns.

A design pattern is a general solution to a common problem found in software engineering. These aren’t finished solutions that you can copy and paste into your code; instead, think of design patterns as extra tools in your toolbox. By understanding and using these patterns in a way that fits your project, you can produce cleaner code that’s easier to understand and faster to test and scale as your project grows.

This GitHub repository contains examples, in Unity, of design patterns in action that can inform your own game development.

From the advanced e-book that’s written for experienced developers

These examples are taken from our e-book, Level up your code with game programming patterns. This 100-page guide explains the design patterns covered in this demo in more detail, as well as explaining the SOLID programming principles and concepts such as KISS and DRY.

Learn more in our how-to pages available here:

Or download the full e-book here. Blog Post_800x450

How to use the game programming patterns guide

Both internal and external Unity development experts contributed to the new e-book, especially Wilmer Lin at Unity Game Academy, who made significant contributions, both to the guide and the demo project.

Please keep in mind that the guide and these examples are based on subjective opinion; they are not recommendations that promise a particular outcome, but are examples only. A good code architectural solution is one that fits your needs and covers the majority of the day-to-day use cases in your game development. Our intention is for you to use the guide and examples as a starting point for creating your own guidelines.