Unreal Engine Reflection System

Information for programmers developing Objects to be used with Unreal Engine.

Unreal Engine provides two toolsets for programmers which can also be used in tandem to accelerate development workflows. New gameplay classes, Slate and Canvas user interface elements, and editor functionality can be written with C++, and all changes will be reflected in Unreal Editor after compiling with either Visual Studio or XCode. The Blueprint visual scripting system is a robust tool which enables classes to be created in-editor through wiring together function blocks and property references.

C++ classes can be used as a base for Blueprint classes, and in this way programmers can set up fundamental gameplay classes that are then sub-classed and iterated on by level designers.

Getting Started

prog_icon.png

Unreal Engine Reflection System

Information for programmers developing Objects to be used with Unreal Engine.

Information for programmers developing Objects to be used with Unreal Engine.

Development Setup

ue4_icon.png

Setting Up Visual Studio

Tips, tricks, and techniques for setting up Visual Studio to work with Unreal Engine

Tips, tricks, and techniques for setting up Visual Studio to work with Unreal Engine

ue4_icon.png

UnrealVS Extension

Guide for installing, setting up, and using the UnrealVS extension for Visual Studio.

Guide for installing, setting up, and using the UnrealVS extension for Visual Studio.

ue4_icon.png

Visual Studio Tips and Tricks

Useful tips and tricks for working on Unreal Engine content in Visual Studio

Useful tips and tricks for working on Unreal Engine content in Visual Studio

ue4_icon.png

Downloading Unreal Engine Source Code

Steps for connecting to the source code repository and downloading the latest build of Unreal Engine.

Steps for connecting to the source code repository and downloading the latest build of Unreal Engine.

ue4_icon.png

Updating to the Latest Changes from Epic

Describes how to update your fork of the Unreal Engine source code to get the latest fixes and newest features.

Describes how to update your fork of the Unreal Engine source code to get the latest fixes and newest features.

ue4_icon.png

Contributing to Unreal Engine

Describes how to use the GitHub Pull Request mechanism to submit changes you've made to the Unreal Engine source back to Epic.

Describes how to use the GitHub Pull Request mechanism to submit changes you've made to the Unreal Engine source back to Epic.

ue4_icon.png

Managing Game Code

Add code to your project and generate project files for IDEs.

Add code to your project and generate project files for IDEs.

ue4_icon.png

C++ Class Wizard

An overview of the C++ Class Wizard in Unreal Engine.

An overview of the C++ Class Wizard in Unreal Engine.

ue4_icon.png

Compiling Game Projects

Compiling individual game projects using Visual Studio on Windows, or Xcode on Mac.

Compiling individual game projects using Visual Studio on Windows, or Xcode on Mac.

ue4_icon.png

Live Coding

Recompile and patch your game's binaries at runtime.

Recompile and patch your game's binaries at runtime.

ue4_icon.png

Programming Tools

Applications, tools, and add-ins that are useful for programmers working with Unreal Engine.

Applications, tools, and add-ins that are useful for programmers working with Unreal Engine.

ue4_icon.png

Sparse Class Data

The Sparse Class Data system eliminates wasted memory from redundant properties.

The Sparse Class Data system eliminates wasted memory from redundant properties.

Unreal Engine Architecture

Whether you are programming with C++, Blueprints, or a combination of the two, the underlying Unreal Engine architecture is the same.

ue4_icon.png

Asserts

Reference for Unreal Engine's Assert Functionality

Reference for Unreal Engine's Assert Functionality

ue4_icon.png

Gameplay Classes

Reference for creating and implementing gameplay classes.

Reference for creating and implementing gameplay classes.

ue4_icon.png

Gameplay Modules

Collections of gameplay classes belonging to a game project compiled into DLLs.

Collections of gameplay classes belonging to a game project compiled into DLLs.

ue4_icon.png

Gameplay Tags

Gameplay Tags can be used to identify, categorize, match, and filter objects.

Gameplay Tags can be used to identify, categorize, match, and filter objects.

prog_icon.png

C++ Programming Tutorials

Step-by-step instructional guides for hands-on learning of programming in Unreal Engine.

Step-by-step instructional guides for hands-on learning of programming in Unreal Engine.

Gameplay Architecture

ue4_icon.png

Asynchronous Asset Loading

Methods for loading and unloading assets during runtime.

Methods for loading and unloading assets during runtime.

ue4_icon.png

Command-Line Arguments

A collection of arguments that can be passed to the engine's executable to configure options controlling how it runs.

A collection of arguments that can be passed to the engine's executable to configure options controlling how it runs.

ue4_icon.png

Console Variables in C++

Overview of the Console Manager and implementation details for creating console variables.

Overview of the Console Manager and implementation details for creating console variables.

ue4_icon.png

Core Redirects

Core Redirects enable remapping classes, enums, functions, packages, properties, and structs at load time.

Core Redirects enable remapping classes, enums, functions, packages, properties, and structs at load time.

ue4_icon.png

Data Validation

Developers can extend this system to validate assets with custom-scripted rulesets.

Developers can extend this system to validate assets with custom-scripted rulesets.

ue4_icon.png

Unreal Engine Modules

Modules are the building blocks of Unreal Engine's software architecture. You can organize your code into modules to create more efficient and maintainable projects.

Modules are the building blocks of Unreal Engine's software architecture. You can organize your code into modules to create more efficient and maintainable projects.

ue4_icon.png

Referencing Assets

Control how an asset is referenced and loaded into memory.

Control how an asset is referenced and loaded into memory.

ue4_icon.png

Asset Registry

How assets are discovered by the editor and how to make it know more about asset types before they are loaded.

How assets are discovered by the editor and how to make it know more about asset types before they are loaded.

ue4_icon.png

String Handling

An overview of the string classes available in Unreal with reference guides for FName, FText, and FString.

An overview of the string classes available in Unreal with reference guides for FName, FText, and FString.

ue4_icon.png

Tasks System

An Overview of the Tasks System.

An Overview of the Tasks System.

ue4_icon.png

Configuration Files

Initial settings for configuring gameplay or engine behavior on startup.

Initial settings for configuring gameplay or engine behavior on startup.

ue4_icon.png

Versioning of Assets and Packages

Using customized serialization code and versioning to control how Objects are loaded from Assets and Packages.

Using customized serialization code and versioning to control how Objects are loaded from Assets and Packages.

ue4_icon.png

UObject Instance Creation

Methods of creating new instances of Objects in gameplay code.

Methods of creating new instances of Objects in gameplay code.

ue4_icon.png

Unreal Object Handling

Overview of the features of the UObject system.

Overview of the features of the UObject system.

Gameplay Guides

Unreal Engine API Reference

ue4_icon.png

Unreal Engine C++ API Reference

System Guides

TopicIcon.png

Animation Node Technical Guide

Guide to creating new nodes for use within graphs in Anim Blueprints.

Guide to creating new nodes for use within graphs in Anim Blueprints.

ue4_icon.png

Automation System Overview

Overview of the automation system used for unit testing, feature testing, and content stress testing.

Overview of the automation system used for unit testing, feature testing, and content stress testing.

ue4_icon.png

Blueprints Technical Guide

Technical guide for programmers working with Blueprints.

Technical guide for programmers working with Blueprints.

ue4_icon.png

Online Subsystems and Services

Learn how to use online subsystems and services in Unreal Engine, including Epic Online Services.

Learn how to use online subsystems and services in Unreal Engine, including Epic Online Services.

ue4_icon.png

Online Subsystem Steam

An overview of Online Subsystem Steam, including how to set up your project for distribution on Valve's Steam platform.

An overview of Online Subsystem Steam, including how to set up your project for distribution on Valve's Steam platform.

ue4_icon.png

Graphics Programming

Information for graphics programmers working with the rendering systems and writing shaders.

Information for graphics programmers working with the rendering systems and writing shaders.

ue4_icon.png

Slate UI Programming

Program user interfaces with Unreal Engine's Slate framework.

Program user interfaces with Unreal Engine's Slate framework.

ue4_icon.png

Unreal Build Pipeline

Reference material for Unreal Engine's build pipeline

Reference material for Unreal Engine's build pipeline

Automated Builds

ue4_icon.png

BuildGraph Script Conditions

Learn syntax to write BuildGraph script conditions.

Learn syntax to write BuildGraph script conditions.

ue4_icon.png

BuildGraph Script Elements

Learn about BuildGraph Elements.

Learn about BuildGraph Elements.

ue4_icon.png

BuildGraph Script Types

Learn about valid data types for BuildGraph attributes.

Learn about valid data types for BuildGraph attributes.

ue4_icon.png

BuildGraph

Customize your builds with the BuildGraph scripting system.

Customize your builds with the BuildGraph scripting system.

ue4_icon.png

BuildGraph Usage

This page provides sample BuildGraph Script usage.

This page provides sample BuildGraph Script usage.

Asset Handling Reference Guides

ue4_icon.png

Asynchronous Asset Loading

Methods for loading and unloading assets during runtime.

Methods for loading and unloading assets during runtime.

ue4_icon.png

Asset Registry

How assets are discovered by the editor and how to make it know more about asset types before they are loaded.

How assets are discovered by the editor and how to make it know more about asset types before they are loaded.

ue4_icon.png

Data Validation

Developers can extend this system to validate assets with custom-scripted rulesets.

Developers can extend this system to validate assets with custom-scripted rulesets.

Help shape the future of Unreal Engine documentation! Tell us how we're doing so we can serve you better.
Take our survey
Cancel