Book Image

Learning Design Patterns with Unity

By : Harrison Ferrone
Book Image

Learning Design Patterns with Unity

By: Harrison Ferrone

Overview of this book

Struggling to write maintainable and clean code for your Unity games? Look no further! Learning Design Patterns with Unity empowers you to harness the fullest potential of popular design patterns while building exciting Unity projects. Through hands-on game development, you'll master creational patterns like Prototype to efficiently spawn enemies and delve into behavioral patterns like Observer to create reactive game mechanics. As you progress, you'll also identify the negative impacts of bad architectural decisions and understand how to overcome them with simple but effective practices. By the end of this Unity 2023 book, the way you develop Unity games will change. You'll emerge not just as a more skilled Unity developer, but as a well-rounded software engineer equipped with industry-leading design patterns.
Table of Contents (23 chapters)
21
Other Books You May Enjoy
22
Index

Building a subsystem Façade

Imagine you’re building a 3D platformer game, and like all sensible games (Souls games notwithstanding), you want to provide a handy auto-saving feature that updates the saved score every three points your player scores or collects. However, there are several interconnected subsystem classes that handle different parts of this feature. For example, an auto-save feature might be responsible for pausing the game, converting the current score into a different format, and storing the converted value in a database or PlayerPrefs. Luckily, your team lead suggests you use a façade class to wrap and execute the subsystem details and give your client a simplified interface to call when auto-saving!

Defining subsystem objects

The first building block we need for our Façade pattern is a Façade class (I didn’t see that coming either) to store an instance of each subsystem. In the Scripts folder, create a new C# script named...