Autoplay
Autocomplete
Previous Lesson
Complete and Continue
Complete Game Optimization for Unreal Engine 5
Getting Started
Introduction & How to use this course
On The Horizon (Upcoming Changes)
Gameplay Learning Track
Graphics Learning Track
Fundamentals
Frame Time (ms) vs. Frame Rate (fps) (2:42)
Basics of Frame Pacing (8:44)
Deciding on Frame Budgets (8:33)
Finding the Bottleneck (CPU vs. GPU) (24:21)
Profiling Preparation
Preparing game build for profiling (5:33)
Reducing Profiling Noise (8:55)
Basic ways to Launch (0:36)
Profiling Tools - Unreal Insights
Unreal Insights Overview
Generating Trace files (.utrace) (9:44)
Insights Walkthrough (19:56)
Insights Bookmarks & Screenshots (2:21)
Adding Your Own Traces and Counters (C++) (6:42)
Investigating Individual Stats (12:02)
Profiling on Target Hardware (Steam Deck) (6:26)
What's Coming: Memory Insights, RDG Insights, Load Times, and more...
Profiling Tools - Content & Scene
Statistics Panel (Primitive Stats, Texture Stats) (11:50)
Size Map (17:20)
Reference Viewer (7:03)
Profiling Tools - GPU & Rendering
ProfileGPU (5:43)
Optimization ViewModes (6:52)
Visualize Render Buffers in Viewport (”vis” cmd) (2:48)
Profiling Tools - Memory
MemReport
OBJ LIST
Profiling Tools - Misc.
A/B Testing (3:35)
Stats System (Viewport Stats) (4:27)
Console Variables Panel (1:33)
Profiling Tools - Third-party
RenderDoc GPU Profiler (19:08)
The Unreal Engine Architecture
CPU Threading Architecture (12:23)
Case Study - Lyra Starter Game
Optimizing Lyra for Steam Deck Overview
Adding a Movement FastPath (15:58)
Moving Animations to the GPU (WPO) (4:31)
Optimizing GameThread with (batched) Async Collision Queries (8:37)
Gameplay Programming - General
Optimized Blueprint Component Initialization (6:58)
Auto Manage Attachment (SceneComponent) (4:00)
Object Pooling (Concept & Implementation Example) (8:03)
[What's Coming] Significance Manager
Gameplay Programming - Blueprint Performance
Blueprint For-Loops (Insights Profiling Example) (8:33)
Gameplay Programming - Ticks, Timers, and Timelines
Actor & Component Ticks (6:26)
Understanding Timers (TimerManager) (6:01)
Understanding Timeline Nodes (TimelineComponent) (3:43)
TickGroups (8:13)
Profiling World Tick (Frame Loop) (14:41)
Aggregating Ticks (7:20)
Gameplay Programming - Multithreading
ParallelFor() - MT and Batched for-loops (5:34)
Gameplay Programming - Collision & Physics
Asynchronous Collision Queries (Traces & Overlaps) (7:37)
Gameplay Programming - Resources & Self Study
SparseClassData (Memory)
Memory - Garbage Collection
Garbage Collection Overview
GC Best Practises (13:54)
Reducing the garbage (Lyra Example) (9:28)
Optimizing GC Settings (16:22)
GC Profiling Tips (6:26)
Content - Skeletal Animation
AnimGraph FastPath (5:04)
Rendering - Nanite
What is Nanite Virtualized Geometry?
What's Coming: Best Practices, Nanite for Artists
Rendering - Virtual Shadow Mapping
Virtual Shadow Mapping Overview
What is Virtual Shadow Mapping? (6:57)
VSM Performance Guidelines (14:25)
VSM Profiling Tools (18:00)
VSM Scalability Settings (11:00)
Rendering - Lighting
Local Light Culling (10:40)
Contact Shadows (Screen-space Shadows) (9:46)
Rendering - Materials
Uniform Expression Folding (and Constant Folding) (9:32)
Rendering - PSO Caching (Windows DX12)
What are "Pipeline State Objects"? #StutterStruggle (4:14)
PSO Precaching vs. Bundled PSOs (4:44)
Setting up "PSO Precaching" (5.1+) (11:56)
"Bundled PSO" Pipeline Setup & Tips (12:11)
Commandlet: DumpMaterialShaderTypes
Rendering - Visibility & Occlusion
Draw Distance Culling (10:46)
Rendering - Variable Rate Shading
What's Coming: T1 & T2 Variable Rate Shading
Rendering - Resources & Self Study
Low Latency Frame Syncing (Frame Pacing)
Scene Optimizations
Decal Actors Deep Dive (DBuffer) (13:06)
Mesh Decals (Notes & Best Practises)
Platform Scalability
Managing Scalability for different Platforms
Detail Modes
Automatic Scalability (Synthbenchmark)
UI - Slate & UMG
Slate Global Invalidation
Notable Performance Improvements in Unreal Engine Releases
[In Progress] 5.4 Notable Changes (GC, ISM, ...)
5.5 Performance Highlights
Wrapping Up
Feedback & Review
[In Progress] Recommended Reading & Watch List
Adding Your Own Traces and Counters (C++)
Lesson content locked
If you're already enrolled,
you'll need to login
.
Enroll in Course to Unlock