My Account Log in

1 option

Game Development Patterns with Unreal Engine 5 : Build Maintainable and Scalable Systems with C++ and Blueprint / Stuart Butler, Tom Oliver, and Christopher J. Headleand.

O'Reilly Online Learning: Academic/Public Library Edition Available online

View online
Format:
Book
Author/Creator:
Butler, Stuart, author.
Oliver, Tom, author.
Contributor:
Headleand, Christopher J., Forward author.
Language:
English
Subjects (All):
Video games--Development.
Video games.
Three-dimensional display systems.
Video games--Programming.
Physical Description:
1 online resource (254 pages)
Edition:
First edition.
Distribution:
London : Bloomsbury Publishing (UK), 2025.
Place of Publication:
Birmingham : Packt Publishing, 2024.
System Details:
text file HTML
Biography/History:
Butler Stuart: Stuart Butler is an Unreal Engine Expert with over 13 years of experience in teaching Games Development in Higher Education. Stuart has published projects in a multitude of disciplines including Technical Design, Art, and Animation. Stuart is the Course Director for Games Technology at Staffordshire University, responsible for the programming team within the UK's largest Games Education Department. Stuart is also an Unreal Authorised Instructor and Educational Content Creator who works with Epic Games on developing learning materials for Unreal Engine 5. Stuart holds a BSc (Hons) in Computer Games Design and a PgC in Higher and Professional Education. Oliver Tom: Tom Oliver is a game programmer with over 10 years of experience in working with game engines both commercially and in an educational capacity. He has used Unreal Engine for contract work both in and out of the games industry, creating systems for games to mixed reality training simulations. Tom is the Course Leader for the BSc (Hons) Computer Games Design and Programming program at Staffordshire University, responsible for maintaining the award winning structure and teaching of the course in the UK's largest Games Education Department. Tom holds a BSc (Hons) in Computer Games Design and Programming and a PGc in Higher and Professional Education. Tom specialises in researching gameplay systems driven through mathematical phenomena.
Summary:
Improve your game's code to make it more readable, reusable, modular, and optimized, guided by design patterns to enhance your overall use of C++ with Unreal Engine Key Features Explore the fascinating world of design patterns and their applications in Unreal Engine 5 game development Learn how to translate code from Blueprint to C++ to implement performant solutions in game development Discover best practices for writing clean code and applying it to Unreal Engine 5 and C++ Purchase of the print or Kindle book includes a free PDF eBook Book Description 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. What you will learn Grasp the essence of design patterns and their inherent utility Understand the layers within UE 5 and how they work together Identify the relationship between C++ code and Blueprint in Unreal Engine 5 Recognize the design patterns found within existing Unreal Engine 5 functions Explore design patterns to understand their purpose and application within Unreal Engine 5 Creatively apply design patterns to existing code to overcome common challenges Who this book is for If you are a beginner or intermediate game developer working with Unreal Engine and looking to improve your C++ coding practices, this book is tailor-made to help you produce clean, reusable code through the application of design patterns. While this book will cover introductory tasks to show the fundamentals of Unreal Engine 5, its primary purpose is not to teach Unreal Engine from scratch. Prior experience with Unreal Engine will be beneficial, but don't fret if your knowledge isn't in-depth; the book will introduce tools and features as needed.
Contents:
Cover
Title page
Copyright and credits
Dedication
Foreword
Contributors
Table of Contents
Preface
Part 1: Learning from Unreal Engine 5
Chapter 1: Understanding Unreal Engine 5 and its Layers
Technical requirements
Introducing Unreal Engine 5
Installing Unreal Engine 5 and preparing your development environment
The "Fuzzy" layer - bridging the gap from C++ to Blueprint
Property Specifiers
Function Specifiers
Useful inheritance
Translating back from Blueprint to C++
Worked example
Summary
Questions
Answers
Chapter 2: "Hello Patterns"
S.O.L.I.D. principles
Single responsibility
Open-closed
Liskov substitution
Interface segregation
Dependency inversion
Exploring solutions to common problems
The moving box problem
The rotating box problem
The cascading cast chain problem
The trade-off
Chapter 3: UE5 Patterns in Action - Double Buffer, Flyweight, and Spatial Partitioning
Double buffer
Flyweight
Spatial partitioning
Introducing World Partition
Understanding when objects are loaded
Ensuring actors are loaded when required
Enabling World Partition on an existing level
Chapter 4: Premade Patterns in UE5 - Component, Update Method, and Behavior Tree
Understanding and creating components
Applying the update method for prototyping gameplay
Working with behavior trees
Creating the AI controller
Creating the Blackboard asset
Building the behavior tree
Part 2: Anonymous Modular Design
Chapter 5: Forgetting Tick
Before we begin
A world that ticks
A clock that stops
Event driven systems
Summary.
Chapter 6: Clean Communication - Interface and Event Observer Patterns
Interfacing communication across classes in UE5
Blueprint interfaces
Interface events versus functions
Interfaces in C++
Building an example interface communication
Implementing event delegate communication across UE5
Event delegates in Blueprint
Event delegates in C++
Building a useful delegate tool
Chapter 7: A Perfectly Decoupled System
Using UML to plan a sample hierarchy
What are the types of class relations?
What is a sequence diagram?
Decoupling the reference train
Modularity and decoupling
Establishing infrastructure
Implementing decoupled design in an example
Benefits of decoupling
Part 3: Building on Top of Unreal
Chapter 8: Building Design Patterns - Singleton, Command, and State
Implementing a Singleton pattern - understanding why it's a Pandora's box
Implementing the Command pattern for different use cases
Command pattern for undo functionality in Blueprint Utilities
Command pattern for gameplay in C++
Creating the many levels of a state machine
Exploring animation state machines
Enum/switch implementation
Static versus instanced states
Concurrent state machines
Hierarchical state machines
Pushdown automata
Chapter 9: Structuring Code with Behavioral Patterns -Template, Subclass Sandbox, and Type Object
Exploring the template pattern
Building the template (parent class)
Creating child classes
Template pistol
Template shotgun
Understanding subclass sandbox
Building the sandbox (parent class)
Sandbox pistol
Sandbox shotgun
Type object pattern
Variants
Data Tables.
Data Assets
Chapter 10: Optimization through Patterns
Using dirty flags to reduce unnecessary processing
Application of dirty flags
How data locality affects code efficiency
Hot/cold splitting
Contiguous arrays
Object pooling our resources to save time later
Implementing object pooling
Making an object pool
Index
Other Books You May Enjoy.
Notes:
Includes bibliographical references and index.
ISBN:
9781803246185
1803246189
OCLC:
1414110768

The Penn Libraries is committed to describing library materials using current, accurate, and responsible language. If you discover outdated or inaccurate language, please fill out this feedback form to report it and suggest alternative language.

Find

Home Release notes

My Account

Shelf Request an item Bookmarks Fines and fees Settings

Guides

Using the Find catalog Using Articles+ Using your account