Study Notes

Unreal Engine Development

The object model, asset loading, runtime execution, networking, the Gameplay Ability System, and the design tradeoffs that tie it together — with an interview drill at the end of the chapters that have one.

How to use the drills. Read each question with the chapter closed and answer it out loud first, then re-read to check yourself. The bar is narration and judgment, so practice saying it rather than just recognizing it.
01

Type System & C++ Conventions

What the class prefixes mean and why UHT enforces them, choosing between a struct, a UObject and an Actor, and what Blueprint can actually see.

prefixes UCLASS / USTRUCT UHT reflection
02

Blueprints in Practice

Where the Blueprint/C++ line sits, what goes wrong when everything lives in Blueprint, keeping large graphs readable, and the three ways Blueprints communicate.

BP vs C++ interfaces dispatchers drill
03

The C++ / Blueprint Boundary

Reflection macros, meta specifiers for safe well-ranged knobs, and structuring a system that is fast in code and tunable in data.

UPROPERTY UFUNCTION ClampMin drill
04

The Gameplay Framework

The core classes and their authority split, actors versus components, composition over deep inheritance, and GameState in depth.

GameMode GameState components drill
05

Architecting Around GameState & Managers

Why GameState is a bulletin board and not a brain, the layered model managers actually live in, and the one case where a component on GameState is right.

architecture Lyra managers
06

Object Lifecycle

The Class Default Object, the pipeline from constructor to BeginPlay, what a constructor may and may not do, how Blueprint differs, and why destroyed does not mean null.

CDO initialization order Construction Script garbage collection IsValid
07

References & Dependencies

Hard versus soft references, how hard ones get created without you noticing, what they cost transitively, and the tools for cutting coupling.

hard / soft TObjectPtr Reference Viewer
08

Data-Driven Design

Data Tables versus Data Assets, structuring a system designers extend without code, and using structs and enums to make the surface safe.

Data Tables Data Assets structs / enums drill
09

Asset Management

Primary and Secondary assets, the Streamable Manager, reference-counted handles, and loading only the slice you need with Asset Bundles.

Asset Manager bundles streaming
10

Game Features & Modular Gameplay

Gameplay plugins you can flip on and off at runtime, and the broker that lets a feature reach into a game that has never heard of it.

Game Features Modular Gameplay Lyra
11

Ticking & Performance

What Tick actually costs, why the Blueprint VM makes it worse, tiering tick rates for AI, and the event-driven alternatives.

Tick TickInterval performance drill
12

Timers, Latent Nodes & Async

Why Delay works in some graphs and not others, choosing between Tick, Timer and Delay, and what Blueprint async really means.

latent timers game thread drill
13

Delegates & Event Dispatchers

Unreal's observer pattern, the dynamic variant Blueprint can see, and why it's the main tool for inverting a dependency.

multicast dispatchers decoupling drill
14

Modules & Subsystems

Where code lives versus when a system runs, the four subsystem lifetimes, the lifecycle hooks, and two gotchas that bite.

subsystems .Build.cs lifecycle
15

The Gameplay Ability System

What GAS solves, the vocabulary, composing an ability from tags and effects rather than one big function, and why it's shaped for multiplayer.

GAS gameplay tags prediction drill
16

Multiplayer: Client vs. Server

Why an Actor is really several copies kept in sync, who owns which class, replicated variables and RPCs, prediction, and server-side lag compensation.

replication authority RPCs lag compensation drill
17

Enhanced Input

The mapping-context registration step everyone forgets, and why On Possessed beats BeginPlay for it.

Enhanced Input mapping context
18

Blueprint Workflow & Debugging

Debugging a graph and its limits, Live Coding and build hygiene, and the data structures Blueprint doesn't hand you.

watch window Live Coding 2D arrays
19

C++ Interfaces (UINTERFACE)

The U/I class split behind every C++ interface, which function specifier lets Blueprint override what, and how a call actually dispatches.

UINTERFACE BlueprintNativeEvent Execute_ drill
20

GameplayTags & System Design Tradeoffs

Where tags earn their keep beyond GAS, best practices for a tag hierarchy, and the decision table for tags versus enums, delegates, interfaces and subclasses.

gameplay tags architecture decision table drill
21

UCLASS Specifiers & Data Ownership

Which UCLASS specifiers gate Blueprint visibility, why a Blueprint is a class and a Data Asset is an instance, and the ownership specifiers that decide whether a UObject property is shared or owned.

Blueprintable / BlueprintType data-only Blueprints Instanced drill