Book Image

Game Development Patterns with Unreal Engine 5

By : Stuart Butler, Tom Oliver
4 (3)
Book Image

Game Development Patterns with Unreal Engine 5

4 (3)
By: Stuart Butler, Tom Oliver

Overview of this book

Design patterns serve as a toolkit of techniques and practices that enable you to write code that’s not only faster, but also more manageable. With this book, you’ll explore a range of design patterns and learn how to apply them to projects developed in Unreal Engine 5. You’ll begin by delving into the foundational principles of coding and develop a solid understanding of the concepts, challenges, and benefits of using patterns in your code. As you progress, you’ll identify patterns that are woven into the core of Unreal Engine 5 such as Double Buffer, Flyweight, and Spatial Partitioning, followed by some of the existing tool sets that embody patterns in their design and usage including Component, Behavior Tree, and Update. In the next section of the book, you’ll start developing a series of gameplay use cases in C++ to implement a variety of design patterns such as Interface and Event-based Observers to build a decoupled communications hierarchy. You’ll also work with Singleton, Command, and State, along with Behavioral Patterns, Template, Subclass Sandbox, and Type Object. The final section focuses on using design patterns for optimization, covering Dirty Flag, Data Locality, and Object Pooling. By the end of this book, you’ll be proficient in designing systems with the perfect C++/Blueprint blend for maintainable and scalable systems.
Table of Contents (16 chapters)
1
Part 1:Learning from Unreal Engine 5
6
Part 2: Anonymous Modular Design
10
Part 3: Building on Top of Unreal

Conventions used

There are a number of text conventions used throughout this book.

Code in text: Indicates code words in text, database table names, folder names, filenames, file extensions, pathnames, dummy URLs, user input, and Twitter handles. Here is an example: “This also applies to the ScoreWidget class we will use to display the player’s score, which has been provided as part of the Chapter Resources folder.”

A block of code is set as follows:

class APlayerController_CH7 : public APlayerController
{
public:
    void Init();
protected:
    UPROPERTY(EditAnywhere)
    TSubclassOf<APawn> _PlayerPawn;
    UPROPERTY(VisibleAnywhere, BlueprintReadOnly)
    TObjectPtr<ACharacter_CH7> _Character;
}

Bold: Indicates a new term, an important word, or words that you see on screen. For instance, words in menus or dialog boxes appear in bold. Here is an example: “Enable the checkbox next to Editor symbols for debugging and click Apply.”

Tips or important notes

Appear like this.