UE5 Documentation

Your complete reference for Unreal Engine 5 systems, APIs, and best practices.

๐ŸŽฎ

Introduction to Unreal Engine 5

Last updated: January 2024 ยท UE 5.4

Unreal Engine 5 (UE5) is Epic Games' industry-leading real-time 3D creation platform. Used for game development, film & TV, architecture visualization, and virtual reality, UE5 brings together Nanite virtualized geometry, Lumen global illumination, and a powerful visual scripting system (Blueprints) alongside native C++ development.

๐Ÿ’ก

New to game engines? We recommend starting with our Beginner Video Course before diving into the documentation. The videos provide hands-on context that makes reading the docs much easier.

Installation & Setup

Unreal Engine 5 is distributed through the Epic Games Launcher. It's free to download and use โ€” Epic takes a 5% royalty only after your product earns over $1 million.

System Requirements

// Minimum Requirements OS: Windows 10 64-bit (v1903) or later CPU: 6-core Intel or AMD, 3.2 GHz+ RAM: 32 GB DDR4 GPU: 8 GB VRAM (NVIDIA RTX or AMD Radeon) Storage: 200 GB SSD (project files excluded) // Recommended for Lumen & Nanite GPU: NVIDIA RTX 3080 / AMD RX 6800 XT or better RAM: 64 GB DDR5

Step-by-Step Installation

1. Download the Epic Games Launcher from epicgames.com

2. Sign in or create a free Epic Games account.

3. Navigate to Unreal Engine โ†’ Library โ†’ Engine Versions.

4. Click the + button and select version 5.4.x.

5. Choose your install options (starter content, target platforms) and click Install.

Editor Interface Overview

The UE5 editor is composed of several key panels that you'll use constantly during development:

Viewport
3D scene view. Navigate with WASD + right-click. Press G to toggle game mode.
Content Browser
Where all your assets live. Right-click to create assets, drag to viewport to place.
Outliner
Hierarchical list of all Actors in the level. Search, sort, and organize here.
Details Panel
Properties of the selected Actor. Edit transforms, materials, and component settings.

Blueprints โ€” Visual Scripting

Blueprints is UE5's node-based visual scripting language. It lets you implement game logic without writing code, while still being powerful enough for complex systems.

// Simple Blueprint example (pseudocode representation) Event BeginPlay โ†’ Print String("Hello, Unreal World!") Event Tick (Delta Seconds) โ†’ Get Actor Location โ†’ Add ( X: 1.0 * DeltaSeconds, Y: 0, Z: 0 ) โ†’ Set Actor Location (New Location)
๐ŸŽฌ

Watch our Blueprints Mastery Course to see every node type explained with real project examples.

C++ in Unreal Engine 5

For performance-critical systems and complex gameplay architecture, UE5's C++ layer gives you full control. All Blueprint functionality can also be implemented in C++.

Creating Your First C++ Actor

// MyActor.h #pragma once #include "CoreMinimal.h" #include "GameFramework/Actor.h" #include "MyActor.generated.h" UCLASS() class MYGAME_API AMyActor : public AActor { GENERATED_BODY() public: AMyActor(); // Exposed to Blueprints and Details panel UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Config") float Speed = 100.f; protected: virtual void BeginPlay() override; virtual void Tick(float DeltaTime) override; };
// MyActor.cpp #include "MyActor.h" AMyActor::AMyActor() { PrimaryActorTick.bCanEverTick = true; } void AMyActor::BeginPlay() { Super::BeginPlay(); UE_LOG(LogTemp, Warning, TEXT("Actor has started!")); } void AMyActor::Tick(float DeltaTime) { Super::Tick(DeltaTime); AddActorLocalOffset(FVector(Speed * DeltaTime, 0.f, 0.f)); }

Lumen โ€” Global Illumination

Lumen is UE5's fully dynamic global illumination and reflections system. It eliminates the need to bake lightmaps and responds in real-time to scene changes.

๐Ÿ’ก
Indirect Lighting
Real-time bounced light with no baking
๐Ÿชž
Reflections
Screen-space & hardware ray-traced reflections
โšก
Dynamic
Responds to moving lights and objects instantly

Nanite โ€” Virtualized Geometry

Nanite allows you to use film-quality assets (millions of polygons) directly in real-time without manual LOD creation. The engine automatically streams and renders only what is visible.

// Enable Nanite on a Static Mesh via C++ #include "Engine/StaticMesh.h" // In your code or editor utility: UStaticMesh* Mesh = LoadObject<UStaticMesh>(...); if (Mesh) { Mesh->NaniteSettings.bEnabled = true; Mesh->Build(); } // Or simply enable in the Static Mesh Editor: // Details Panel โ†’ Nanite Settings โ†’ Enable Nanite โœ“

Gameplay Ability System (GAS)

GAS is UE5's built-in framework for scalable gameplay abilities, attributes, and effects. Used in Fortnite and many AAA titles, it handles everything from health and stamina to complex skill trees.

โš ๏ธ

GAS has a learning curve. We recommend completing the C++ programming modules first. Check our advanced courses for a dedicated GAS series.

Multiplayer & Replication

UE5 uses a client-server model for multiplayer. The server is authoritative โ€” all important game state changes happen on the server and are replicated down to clients.

// Replicated property example UPROPERTY(Replicated) int32 Health; // In GetLifetimeReplicatedProps: DOREPLIFETIME(AMyCharacter, Health); // Server RPC (runs on server, called from client): UFUNCTION(Server, Reliable) void ServerDealDamage(int32 Amount); // NetMulticast (runs on all machines): UFUNCTION(NetMulticast, Unreliable) void MulticastPlayEffect();
โ† Previous: Downloads
Need Expert Help? โ†’