Unreal Engine 4 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 Blueprints 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
Create your first code project and add a new C++ class.
Introductory guide for C++ programmers new to Unreal Engine
Development Setup
Reference guide for solution and project build configurations.
Reference guide for solution and project build configurations.
Compiling Unreal Engine from source.
Compiling Unreal Engine from source.
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.
Going over how to use the Low-Level Memory Tracker in your Unreal Engine projects.
Going over how to use the Low-Level Memory Tracker in your Unreal Engine projects.
Overview of the Console Manager and implementation details for creating console variables.
Overview of the Console Manager and implementation details for creating console variables.
Standards and conventions used by Epic Games in the Unreal Engine 4 codebase.
Standards and conventions used by Epic Games in the Unreal Engine 4 codebase.
Tips, tricks, and techniques for setting up Visual Studio to work with Unreal Engine 4.
Tips, tricks, and techniques for setting up Visual Studio to work with Unreal Engine 4.
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.
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.
Adding code and generating project files.
Adding code and generating project files.
An overview of the C++ Class Wizard in UE4.
An overview of the C++ Class Wizard in UE4.
Unreal Engine Architecture
Whether you are programming with C++, Blueprints, or a combination of the two, the underlying Unreal architecture is the same.
Collections of gameplay classes belonging to a game project compiled into DLLs.
Collections of gameplay classes belonging to a game project compiled into DLLs.
Reference to creating and implementing gameplay classes.
Reference to creating and implementing gameplay classes.
Reference to creating and implementing functions for gameplay classes.
Reference to creating and implementing functions for gameplay classes.
Metadata keywords used when declaring UClasses, UFunctions, UProperties, UEnums, and UInterfaces to specify how they behave with various aspects of the Engine and Editor.
Metadata keywords used when declaring UClasses, UFunctions, UProperties, UEnums, and UInterfaces to specify how they behave with various aspects of the Engine and Editor.
Reference for creating and implementing properties for gameplay classes.
Reference for creating and implementing properties for gameplay classes.
Reference to creating and implementing structs for gameplay classes.
Reference to creating and implementing structs for gameplay classes.
Reference to creating and implementing interfaces.
Reference to creating and implementing interfaces.
Gameplay Architecture
Explanations of the basic gameplay elements, Actors and Objects.
Explanations of the basic gameplay elements, Actors and Objects.
Data types that reference and execute member functions on C++ objects.
Data types that reference and execute member functions on C++ objects.
An overview of the string classes available in UE4 and reference guides for FName, FText, and FString.
An overview of the string classes available in UE4 and reference guides for FName, FText, and FString.
Timer construct for performing actions at set intervals.
Timer construct for performing actions at set intervals.
TMaps are primarily defined by two types — a key type and a value type — which are stored as associated pairs in the map.
TMaps are primarily defined by two types — a key type and a value type — which are stored as associated pairs in the map.
TSets are a fast container class to store (usually) unique elements in a context where the order is irrelevant.
TSets are a fast container class to store (usually) unique elements in a context where the order is irrelevant.
Overview of the features of the UObject system.
Overview of the features of the UObject system.
Custom implementation of shared pointers, including weak pointers and non-nullable shared references.
Custom implementation of shared pointers, including weak pointers and non-nullable shared references.
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
Explanations of the basic gameplay elements, Actors and Objects.
Explanations of the basic gameplay elements, Actors and Objects.
Methods of creating new instances of Objects in gameplay code.
Methods of creating new instances of Objects in gameplay code.
Gameplay Guides
Unreal Engine API Reference
API programming reference for Unreal Engine C++ source code
System Guides
Guide to creating new nodes for use within graphs in Anim Blueprints.
Overview of the automation system used for unit testing, feature testing, and content stress testing.
Technical guide for programmers working with Blueprints.
Overview of the various systems related to the online platform.
An overview of Online Subsystem Steam, including how to set up your project for distribution on Valve's Steam platform.
Information for graphics programmers working with the rendering systems and writing shaders.
Cross-platform user interface framework for creating tool and in-game UIs.
Tools for compiling Unreal Engine and game projects.
Automated Builds
Learn syntax to write BuildGraph script conditions.
Learn about BuildGraph Elements.
Learn about valid data types for BuildGraph attributes.
Customize your builds with the BuildGraph scripting system.
This page provides sample BuildGraph Script usage.