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

Creating a generic prototype component

Imagine that your game has more than a few enemy types, all of which need to be cloneable. If you were going to try and use the previous solution, you would quickly be underwater with the amount of BaseEnemy subclasses you’d be creating every time the game needed a new enemy type. Further, imagine that your team lead asks you to make any GameObject in the project cloneable with a single script component.

Our first and only task to satisfy the scenario requirements is to create a new MonoBehaviour with a single cloning method. In the Scripts folder, create a new C# script, name it Clone, and update its code to match the following code. This code will reuse the same random generation and parenting logic from the previous solution, but we’ll also fetch and return the specified script component if it’s attached to the base clone:

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
// 1
public...