A long-term engineering project · a new standard, started from scratch

Unreal Engine 5 C++: tutorials, architecture, and practice

Learn Unreal Engine 5 C++ with a practical course and engineering tutorials on UObject, memory, gameplay, replication, GAS, and engine source code.

Learn C++ for Unreal Engine 5 through engineering explanations, source-code examples, and practical projects. Each topic explains not "what to use", but "why it exists", "what problem it solves", "how it works under the hood", and "when you shouldn't do it this way". The goal is that after reading a topic, no logical question is left unanswered, and that you learn to arrive at Epic's architectural decisions yourself rather than memorizing them as a list of facts.

Learning

Encyclopedia explains how the engine works to someone who already writes C++. Learning takes you from zero: a gradual path from your first program to professional C++ for Unreal Engine 5.8, with explanations, self-checks, and hands-on assignments.
🎓
21 stages (204 lessons) — from Programming Basics to the final multiplayer project Novarium.

How each topic is structured

A flexible standard: 12 mandatory sections for any topic + sections that appear automatically if the topic naturally generates them — without artificial items like "Impact on Multiplayer" in an article about const.
What is it?
A brief orienting statement before the deep dive.
Why does it exist?
Problem → reason, not a fact without context.
What problem does it solve?
A concrete, reproducible scenario of a naive approach breaking.
How does it work?
Constraints → architectural decision → implementation, with examples from Engine Source.
When to use / not to use
Applicability boundaries — without them, a topic breeds cargo cult.
Examples
Fully working code with line-by-line breakdown — pseudocode is forbidden.
Common mistakes
Separately for beginners and mid-level developers, with an explanation of the failure mechanism.
Practice
Assignments that force you to reproduce the reasoning, not copy the example.
FAQ
Questions that an attentive reader actually asks.
Summary
Statements the reader should be able to articulate in their own words.
+ as needed
GC, Reflection, Blueprint, Multiplayer, serialization, performance — if the topic naturally generates them.

Before you start

A compass over the entire course — not a topic, but a way of thinking that repeats in every subsequent topic.
💡
Twelve cross-cutting "Whys" (UObject, pointers, GC, Reflection, Component, Composition, Modules, Plugins, Subsystem, Gameplay Tags, Data Assets, Primary Assets) in one place — read this page first, and every new course topic will be recognized as a variation of an already familiar line of reasoning, not a new set of facts.

The reference article

The gold standard of quality and depth for the whole project — worth starting with even if you are already an experienced developer.
★
Engine → Framework → why UObject → why Reflection → why Garbage Collector → why the macros appeared → how it all connects into a single chain of causes. After this article, the rest of the course reads not as separate facts, but as applications of one and the same way of reasoning.

Roadmap — 9 levels

Nine sequential levels instead of sixteen disconnected clusters — each next level is explained through the previous one, not on its own. The only exception is Level 5: its six applied systems run in parallel, not in order.
0
Level 0 — How Unreal Thinks
Why the rest of the course exists at all: when Epic's documentation is still enough, and when it's time to open the engine source, and how to physically navigate .h/.cpp files even before you know what UObject is.
1
Level 1 — Object System
Builds on Level 0 — after it, every UCLASS()/UPROPERTY() is explained as a concrete consequence of Reflection, Garbage Collector, Package, and CDO, not as magic syntax.
2
Level 2 — Runtime Objects
Builds on the Object System — first the Actor itself and its components, and only when the question "how to store a list of components" naturally arises, the tools: TArray/TMap and the two disjoint worlds of pointers.
3
Level 3 — Gameplay Framework
Builds on Level 2 — the full set of framework roles (Pawn/Controller/Character/GameMode/GameState/GameInstance/Subsystem) and Delegates as a tool, before AI/UI/GAS start silently relying on them.
4
Level 4 — Data
Builds on UObject and soft references — how to describe growing content with data, not code, before GAS and AI start building on top of it.

Level 5 — Systems

Six parallel applied systems, not a sequence — the order between 5.A–5.F is not strict; each builds only on Levels 0–4 (and Network Prediction in GAS also on Level 6, Multiplayer).
5A
5.A — Input
How game intent is separated from the physical key: Input Actions and Mapping Contexts instead of hardcoded Action/Axis Mappings.
5B
5.B — UI
How interfaces are built with UMG, how to manage the screen stack and focus with CommonUI, and how to break the direct link between a widget and game objects with MVVM.
5C
5.C — Gameplay Ability System
An ability framework on top of UFUNCTION: networking, cancellation, resource costs, and effect compatibility in one consistent solution — all the way to Network Prediction at the boundary with Multiplayer.
5D
5.D — AI
How the decision "what should the NPC do" is expressed as a tree of reusable nodes, how tasks and the tree exchange data through a shared store, and how to declaratively find the best point in the world.
5E
5.E — World Streaming
How a game world that physically doesn't fit into memory all at once is loaded in parts: manually, automatically by grid, and in logical layers on top of it.
5F
5.F — Animation
How skeleton pose logic is separated into its own object with its own graph, how one-shot actions play on top of persistent blending, and how the pose adapts to geometry at runtime.
6
Level 6 — Multiplayer
Builds on UPROPERTY and Owner/GetOwner() — the server and the client see the same actor differently, and that's enough to come back and really close out Network Prediction from Level 5.

Afterword — cross-cutting articles

Not new material, but an exam on whether you can see the system as a whole: five articles tie everything studied separately into end-to-end stories — from a key press to a frame on screen, from process launch to the full game lifecycle.
✦
Afterword — Engineering Flows
Builds on the entire course — each article traces one end-to-end path through events studied separately in Levels 0–8 and assembles them into a single chronology verifiable against the source.

Tags

#engine #framework #uobject #reflection #garbage-collector #uproperty #owner #architecture #actor #component #ufunction #uinterface #blueprint #smart-pointers #soft-reference #multiplayer #rpc #pawn #controller #gamemode #delegates #tarray #tmap #containers #input #gas #attributeset #gameplayeffect #prediction #umg #commonui #mvvm #gameplaytags #dataasset #datatable #assetmanager #behaviortree #blackboard #eqs #levelstreaming #worldpartition #datalayer #animinstance #animmontage #ik #documentation #source-reading #dependencies #cdo #outer #eobjectflags #fname #package #asset-registry #transform #tick #spawnactor #uworld #character #gameinstance #subsystem #relevancy #dormancy #unreal-header-tool #hot-reload #unrealbuildtool #modules #plugins #farchive #cooker #async-loading #threading #game-thread #fmalloc #uelog #visual-logger #gameplay-debugger #draw-debug #unreal-insights #stat-commands #tick-optimization #taskgraph #profiling #savegame #god-class #ustruct #tsubclassof #cast #newobject #memory-layout #world-context #tactoriterator #collision #linetrace #chaos #playercontroller #localplayer #gameplaystatics #primarydataasset #config #developersettings #input-subsystem #slate #widget-lifecycle #commoninput #executioncalculation #modifiermagnitudecalculation #gameplaycue #aiperceptioncomponent #navmesh #smartobjects #pcg #foliage #hlod #nanite #lumen #state-machine #blendspace #linked-anim-layers #motion-warping #root-motion #animinstanceproxy #actor-channel #netdriver #replayout #replicationgraph #fastarrayserializer #client-side-prediction #netmode #seamlesstravel #action-graph #unrealheadertool #target-cs #compilation-pipeline #generated-h #live-coding #packaging #pluginmanager #fmemory #cache-line #tarray-memory #tsparsearray #trace #trace-channel #csv-profiler #ai-debugging #llm #gpu-profiling #frame-analysis #composition #singleton-alternative #observer-pattern #factory-pattern #command-pattern #dependency-injection #engine-lifecycle #streamable-manager #activateability #frame-pipeline #repnotify

How the old project was used

The previous project (a folder one level up) has not been deleted and remains reference material — a source of ideas, ready-made explanations, and code examples. Not a single article here is a copy: every topic is analyzed anew, verified, expanded, and brought to the single standard described above.