Games Custom License Getting Started Guide

Onboarding guide for games licensees

Windows
MacOS
Linux

This PDF covers introductory information on the following topics, to help you get started with the Unreal Engine 4 development process:

On this page

Further Reading:

Hardware and Software Requirements

Unreal Engine has some specific hardware and software requirements for running the Editor. This page covers these requirements, as well as describing what is installed by the pre-requisites installer included in the Unreal Engine installer.

Recommended Hardware

Operating System

Windows 10 64-bit

Processor

Quad-core Intel or AMD, 2.5 GHz or faster

Memory

8 GB RAM

Video Card/DirectX Version

DirectX 11 or DirectX 12 compatible graphics card

Operating System

macOS 10.14 Mojave

Processor

Quad-core Intel, 2.5 GHz or faster

Memory

8 GB RAM

Video Card

Metal 1.2 Compatible Graphics Card

Operating System

Ubuntu 18.04

Processor

Quad-core Intel or AMD, 2.5 GHz or faster

Memory

32 GB RAM

Video Card

NVIDIA GeForce 960 GTX or higher with latest NVIDIA binary drivers

Minimum Software Requirements

Minimum requirements for running the engine or editor are listed below.

Running the Engine

Operating System

Windows 7

DirectX Runtime

DirectX End-User Runtimes (June 2010)

Running the Engine

Operating System

macOS 10.14 Mojave

Running the Engine

Operating System

Any reasonable new Linux distro from CentOS 7.x and up

Linux Kernel Version

kernel 3.x or newer

Additional Dependencies

glibc 2.17 or newer

The requirements for programmers developing with the engine are listed below.

Developing with the Engine

All 'Running the Engine' requirements (automatically installed)

Visual Studio Version

  • Visual Studio 2017 v15.6 or later (recommended)

  • Visual Studio 2019

Visual Studio 2015 is no longer supported in the current release of UE4. If you are developing with the current release of UE4, you need to use either VS 2017 or VS 2019.

iOS App Development

iTunes Version

iTunes 11 or higher

Developing with the Engine

Xcode Version

9.4

Developing with the Engine

Operating System

Ubuntu 18.04

Compiler

clang 6.0.1

Optional

IDE

Visual Studio Code, CLion, QtCreator

Software Installed by the Prerequisite Installer

The Unreal Engine includes a prerequisite installer that installs everything needed to run the editor and engine, including several DirectX components and Visual C++ redistributables. When you install Unreal Engine through the Epic Games Launcher, the Launcher automatically installs these prerequisites for you. However, you may need to run the prerequisite installer yourself if you build Unreal Engine from source, or if you need to prepare a computer with all the Unreal Engine prerequisites for a specific purpose—for example, if you are setting up a fresh computer to act as a Swarm Agent .

You can find the installer, with separate executables for 32-bit and 64-bit Windows, in the Engine/Extras/Redist/en-us folder under your Unreal Engine installation location.

If you use Perforce to get the Unreal Engine source code, you'll also find precompiled binaries in the same Engine/Extras/Redist/en-us folder of the Perforce repository. The source for the installer is under Engine/Source/Programs/PrereqInstaller.

The following table lists the software that is installed by the prerequisite installer.

DirectX Components

Visual C++ Redists

XInput 1.3 (April 2007)

Visual C++ 2010 CRT

X3DAudio 1.7 (February 2010)

Visual C++ 2010 OpenMP library

XAudio 2.7 (June 2010)

Visual C++ 2012 CRT

D3D Compiler 4.3 (June 2010)

Visual C++ 2013 CRT

D3DCSX 4.3 (June 2010)

Visual C++ 2015 CRT

D3DX9 4.3 (June 2010)

Visual Studio 2019 redistributable

D3DX10 4.3 (June 2010)

D3DX11 4.3 (June 2010)

The most important DirectX components from that list are the XInput, X3DAudio, and XAudio dependencies. These aren't included in standard installations of DirectX (and aren't distributed with Windows by default), so they have to be installed manually or distributed with the application.

Graphics Card Drivers

We currently recommend using the latest stable releases from each card manufacturer:

Performance Notes

This list represents a typical system used at Epic, providing a reasonable guideline for developing games with Unreal Engine 4:

  • Windows 10 64-bit

  • 64 GB RAM

  • 256 GB SSD (OS Drive)

  • 2 TB SSD (Data Drive)

  • NVIDIA GeForce GTX 970

  • Xoreax Incredibuild (Dev Tools Package)

  • Six-Core Xeon E5-2643 @ 3.4GHz

If you don't have access to Xoreax Incredibuild (Dev Tools Package), we recommend compiling with a machine having 12 to 16 cores; however, we encourage you to read the Hardware Benchmarks (2017) reference to learn more about compiling with and without XGE.

Acquiring Unreal Engine

Source Code Branches

You'll notice that we've published UE4's source code in three rolling branches.

Branches.png

Release Branch

The release branch is extensively tested by our QA team and makes a great starting point for learning UE4 or making Unreal games. We work hard to stabilize this branch with the goal of releasing new builds every one to two months.

Promoted Branch

The promoted branch is updated with builds for use by our designers and artists. We try to update this branch daily so that our subscribers have access to UE4's latest stable features. This branch is a great place to learn how feature development works in UE4.

Master Branch

Because the master branch contains cutting-edge technology, UE4 isn't guaranteed to compile from source.

The master branch tracks live changes being made by our engine team. Our experienced subscribers typically work from this branch when they want to work in tandem with UE4's developers.

Other branches may appear from time-to-time as we work to stabilize new releases or hotfixes.

Downloading the Source Code

Please follow these instructions to download the Unreal Engine source code.

Please make sure you are running Visual Studio 2015 or higher for Windows Desktop installed before proceeding.

  1. Install GitHub for Windows then fork and clone our repository .

    To use Git from the command line, see the Setting up Git and Fork a Repo articles.

    If you'd prefer not to use Git, you can get the source with the 'Download ZIP' button on the right. The built-in Windows zip utility will mark the contents of zip files downloaded from the Internet as unsafe to execute, so right-click the zip file and select 'Properties...' and 'Unblock' before decompressing it. Third-party zip utilities don't normally do this.

  2. Install Visual Studio 2017.

    All desktop editions of Visual Studio 2017 can build UE4, including Visual Studio Community 2017 , which is free for small teams and individual developers. Be sure to include C++ support as part of the install, which is disabled by default.

  3. Open your source folder in Explorer and run Setup.bat.

    This will download binary content for the engine, as well as installing prerequisites and setting up Unreal file associations. On Windows 8, a warning from SmartScreen may appear. Click "More info", then "Run anyway" to continue.

    A clean download of the engine binaries is currently 3-4gb, which may take some time to complete. Subsequent checkouts only require incremental downloads and will be much quicker.

  4. Run GenerateProjectFiles.bat to create project files for the engine. It should take less than a minute to complete.

  5. Load the project into Visual Studio by double-clicking on the UE4.sln file. Set your solution configuration to Development Editor and your solution platform to Win64, then right click on the UE4 target and select Build. It may take anywhere between 10 and 40 minutes to finish compiling, depending on your system specs.

  6. After compiling finishes, you can load the editor from Visual Studio by setting your startup project to UE4 and pressing F5 to debug.

  1. Install GitHub for Mac then fork and clone our repository .

    To use Git from the Terminal, see the Setting up Git and Fork a Repo articles. If you'd rather not use Git, use the 'Download ZIP' button on the right to get the source directly.

  2. Install the latest version of Xcode .

  3. Open your source folder in Finder and double-click on Setup.command to download binary content for the engine. You can close the Terminal window afterwards.

    If you downloaded the source as a .zip file, you may see a warning about it being from an unidentified developer (because .zip files on GitHub aren't digitally signed). To work around it, right-click on Setup.command, select Open, then click the Open button.

  4. In the same folder, double-click GenerateProjectFiles.command. It should take less than a minute to complete.

  5. Load the project into Xcode by double-clicking on the UE4.xcworkspace file. Select the ShaderCompileWorker for My Mac target in the title bar, then select the 'Product > Build' menu item. When Xcode finishes building, do the same for the UE4 for My Mac target. Compiling may take anywhere between 15 and 40 minutes, depending on your system specs.

  6. After compiling finishes, select the 'Product > Run' menu item to load the editor.

Our developers and support teams currently use the latest version of Ubuntu; as a result, we may not be able to provide support for other Linux distributions (including other versions of Ubuntu).

  1. Set up Git and fork our repository . If you'd prefer not to use Git, use the 'Download ZIP' button on the right to get the source as a zip file.

  2. Open your source folder and run Setup.sh to download binary content for the engine.

  3. Both cross-compiling and native builds are supported.

Cross-compiling is handy when you are a Windows (Mac support planned too) developer who wants to package your game for Linux with minimal hassle, and it requires a cross-compiler toolchain to be installed (see the Linux cross-compiling page on the wiki ).

Native compilation is discussed in a separate README and community wiki page .

This page shows subscribers how to download and build Unreal Engine from our source code repository on GitHub. If you'd like to download the binary version of Unreal Engine, read our Installing Unreal Engine documentation to learn how to Get Unreal .

Licensing and Contribution

Your access to and use of Unreal Engine on GitHub is governed by the Unreal Engine End User License Agreement . If you don't agree to those terms, as amended from time to time, you are not permitted to access or use Unreal Engine.

We welcome any contributions to Unreal Engine development through pull requests on GitHub. Most of our active development is in the master branch, so we prefer to take pull requests there (particularly for new features). We try to make sure that all new code adheres to the Epic coding standards . All contributions are governed by the terms of the EULA.

Next Steps

Now that you've downloaded and set-up Unreal Engine, you're ready to build the engine from source .

Footnotes

The first time you start the editor from a fresh source build, you may experience long load times. The engine is optimizing content for your platform to the derived data cache, and it should only happen once.

Your private forks of the Unreal Engine code are associated with your GitHub account permissions. If you unsubscribe or switch GitHub user names, you'll need to re-fork and upload your changes from a local copy.

Building Unreal Engine from Source

Read about Hardware and Software Specifications , and make sure that Microsoft Visual Studio is installed prior to building Unreal Engine from source. Also, depending on your system's specifications, it may take between 10 and 40 minutes to compile the engine.

  1. Inside the root directory, run GenerateProjectFiles.bat to set-up your project files.

    All project files are intermediate ([UE4Root]\Engine\Intermediate\ProjectFiles). You must generate project files each time you sync a new build to ensure they are up to date. If you delete your Intermediate folder, you must regenerate project files using the 'GenerateProjectFiles' batch file.

  2. Load the project into Visual Studio by double-clicking UE4.sln.

  3. Set your solution configuration to Development Editor.

    configMenu_updated.png

  4. Set your solution platform to Win64.

    platform_menu_updated.png

  5. Right-click the UE4 target and select Build.

    BuildUE4.png

For instructions on building the engine and creating executables on platforms other than Windows, please see Building Unreal Engine from Source .

Launching the Editor

The process of running the editor simply requires passing the name of the project to run as an argument to the executable.

You can add the -debug switch to force the executable to load the debug version of the modules for your project, which contain all of the debugging symbols. This is necessary even when debugging through Xcode with the configuration set to Debug because the main executable is always compiled using the Development configuration. Of course, you must first compile your modules using the Debug configuration so they exist for the executable to load.

The process of running the editor simply requires passing the name of the project to run as an argument to the executable.

You can add the -debug switch to force the executable to load the debug version of the modules for your project, which contain all of the debugging symbols. This is necessary even when debugging through Visual Studio with the configuration set to Debug because the main executable is always compiled using the Development configuration. Of course, you must first compile your modules using the Debug configuration so they exist for the executable to load.

Running the Editor from the Command Line

  1. From a command prompt, navigate to your [LauncherInstall]/[VersionNumber]/Engine/Binaries/Mac directory.

  2. Run the UE4Editor.app passing it the path to your project:

    open UE4Editor.app --args "[ProjectPath]/[ProjectName].uproject"
  1. From a command prompt, navigate to your [LauncherInstall][VersionNumber]\Engine\Binaries\Win64 directory.

  2. Run the UE4Editor.exe, passing it the path to your project.

    UE4Editor.exe "[ProjectPath][ProjectName].uproject"

Running the Editor from the Executable

  1. Navigate to your [LauncherInstall][VersionNumber]\Engine\Binaries\Win64 directory.

  2. Right-click on the UE4Editor.exe executable and choose Create shortcut.

  3. Rename the shortcut to something like MyProject - Editor.exe as this reflect that this shortcut runs the MyProject game editor. 

  4. Right-click on the newly created shortcut and choose Properties.

  5. Add the name of the game to run as an argument at the end of the Target property:

    [LauncherInstall][VersionNumber]\Engine\Binaries\Win64\UE4Editor.exe "[ProjectPath][ProjectName].uproject"   
  6. Press OK to save the changes.

  7. Double-click the shortcut to launch the editor.

The editor must be run from the command prompt  to load a specific project directly or with no arguments ) to access the Project Browser.

Running the Editor with No Arguments (Stand-alone)

If the editor is not set to open the most recent project at startup, running the editor executable without any arguments will launch the Project Browser. From here, you can create a new project  , open your existing projects  , or open content examples and sample games  .

Creating Your First Project

When you open Unreal Editor, the Project Browser will appear. The Project Browser provides a jumping off point from which you can create projects, open your existing projects, or open sample content like sample games and Showcases.

When you launch Unreal Engine (UE4), the Unreal Project Browser automatically displays.

Select a Category and Template

  1. Under New Project Categories, select the development category that best matches your industry. In the example below, Games is selected. You can also select Film, Television, and Live Events; Architecture, Engineering, and Construction (AEC); or Automotive, Product Design, and Manufacturing (APM).

    Click image for full size.

  2. Select a template for your project, then click Next. The Project Settings page displays.

    Click image for full size.

    The templates shown are for the Games category. For other industries, the following templates are available:

    • Film, Television and Live Events

    Film, TV and Live Events Templates

    • Automotive, Product Design, and Manufacturing

    APM Templates

    • Architecture, Engineering, and Construction

    AEC Templates

Select Project Settings

  1. On the Project Settings page, you can choose the quality/performance level, target platform, whether to include Starter Content, and more.

    Click image for full size.

  2. First, click the Blueprint dropdown. Select either Blueprint, or C++. Choose Blueprint if you want to build your project in the Unreal Editor, and use the Blueprint Visual Scripting system to create interactions and behavior. Choose C++ if you want to build your project by programming with C++ in Visual Studio.

    Click image for full size.

  3. Next, click the Maximum Quality dropdown. If you are developing your project to be viewed on a computer or game console, choose Maximum Quality. If you are developing your project to be viewed on a mobile device, choose Scalable 3D or 2D.

    Click image for full size.

  4. Next, click the Desktop/Console dropdown. If you are developing your project to be viewed on a mobile device, choose Mobile/Tablet. Otherwise, leave it set to Desktop/Console.

    Click image for full size.

  5. Next, click the With Starter Content dropdown. If you have your own assets and do not need the Starter Content, choose No Starter Content. If you would like some basic assets to start with, choose With Starter Content.

    Click image for full size.

  6. Next, locate the Raytracing Disabled dropdown. If your project needs to be viewed with real-time raytracing, choose Raytracing Enabled. If not, leave it set to Raytracing Disabled.

    Click image for full size.

  7. Finally, choose where you want to store your project, and give your project a name. Click Create Project to finish.

    Click image for full size.

Compiling Code Projects

If you create a project with the Blank template, or any of the Blueprints Only templates, you can immediately begin working with your project in Unreal Editor. When working with any game or engine C++ code, however, you will need to compile your code in order to see any changes reflected in the game.

Unreal Engine 4 (UE4) uses a custom building method via the UnrealBuildTool which handles all the complex aspects of compiling the project and linking it with the engine. This process occurs transparently allowing you to simply build the project through the standard Visual Studio build workflow.

UnrealBuildTool uses the .Build.cs and .Target.cs files to build the game project. These are automatically generated when a project is created using a C++ template, or when the CPP Class Wizard is used to add code to a project created from a Blueprints Only template.

Build Configuration

Unreal projects have multiple targets (Editor, Client, Game, and Server) described by *.target.cs files, each of which can be built to different configurations. In Visual Studio, this manifests as a Visual Studio *.vcxproj file with different configurations for each target. The solution configurations are named as [Configuration][Target Type] (for example, "DevelopmentEditor" for the default editor target, and "Development" for the default standalone game target). The configuration you use will be determined by the purposes of the build you want to create.

Every build configuration contains two keywords, and the first keyword indicates the state of the engine and your game project. For instance, if you compile using a Debug configuration, you will be able to debug your game's code. The second keyword indicates the target you are building for. For example, if you want to open a project in Unreal, you need to build with the Editor target keyword.

Build Configuration - State

Description

Debug

This configuration contains symbols for debugging. This configuration builds both engine and game code in debug configuration. If you compile your project using the Debug configuration and want to open the project with the Unreal Editor, you must use the "-debug" flag in order to see your code changes reflected in your project.

DebugGame

This configuration builds the engine as optimized, but leaves the game code debuggable. This configuration is ideal for debugging only game modules.

Development

This configuration enables all but the most time-consuming engine and game code optimizations, which makes it ideal for development and performance reasons. Unreal Editor uses the Development configuration by default. Compiling your project using the Development configuration enables you to see code changes made to your project reflected in the editor.

Shipping

This is the configuration for optimal performance and shipping your game. This configuration strips out console commands, stats, and profiling tools.

Test

This configuration is the Shipping configuration, but with some console commands, stats, and profiling tools enabled.

Build Configuration - Target

Description

[empty]

This configuration builds a stand-alone executable version of your project, but requires cooked content specific to the platform. Please refer to our Packaging Projects Reference page to learn more about cooked content.

Editor

To be able to open a project in Unreal Editor and see all code changes reflected, the project must be built in an Editor configuration.

Client

If you're working on a multiplayer project using UE4 networking features, this target designates the specified project as being a Client in UE4's client-server model for multiplayer games. If there is a <Game>Client.Target.cs file, the Client build configurations will be valid.

Server

If you're working on a multiplayer project using UE4 networking features, this target designates the specified project as being a Server in UE4's client-server model for multiplayer games. If there is a <Game>Server.Target.cs file, the Server build configurations will be valid.

Unreal Engine Directory Structure

At the top level, there is the Engine directory as well as any game projects you have. The Engine directory contains the engine itself and all of the tools that come with it. Each game folder contains all of the files pertaining to that game. There is a much greater separation between the engine and game projects in UE4 than in previous versions of the engine.

Root Directory

  • Engine - Contains all source code, content, etc. that makes up the engine.

  • Templates - Collection of project templates available when creating new projects .

  • GenerateProjectFiles.bat - Used to create the UE4 solution and project files necessary for working with the engine and your game(s) in Visual Studio. See Project Files for IDEs for details.

  • UE4Games.uprojectdirs - Helper file that allows the engine to discover projects in subdirectories.

Common Directories

Some subdirectories are common amongst both the Engine and game project directories:

  • Binaries - Contains executable files or other files created during compiling.

  • Build - Holds files needed for building the engine or game, including files necessary for creating platform-specific builds.

  • Config - Configuration files for setting values that control engine behavior. Values set in the game project Config files override the values set in the Engine\Config directory.

  • Content - Holds content for the engine or game, including asset packages and maps.

  • DerivedDataCache - Contains derived data files generated on-load for referenced content. Not having cache files present for referenced content can increase load times dramatically.

  • Intermediate - Contains temporary files generated during building the engine or game. In game directories, Shaders are stored in the Intermediate directory.

  • Saved - Contains autosaves, configuration (.ini) files, and log files. Additionally, the Engine > Saved directory contains crash logs, hardware information, and Swarm options and data.

  • Source - Contains all of the source files for engine or game, including the engine source code, tools, gameplay classes, etc.

    • Engine - Source files in the Engine directory are categorized into the following:

      • Developer - Files used by both the editor and engine.

      • Editor - Files used by just the editor.

      • Programs - External tools used by the engine or editor.

      • Runtime - Files used by just the engine.

    • Game - Source files in a game project directory are organized by module; one directory per module. Each module contains the following:

      • Classes - Contains all gameplay class header (.h) files.

      • Private - Contains all .cpp files including gameplay class implementation files and the module implementation file.

      • Public - Contains the module header file.

Engine-specific Directories

Some subdirectories are specific to the Engine directory.

  • Documentation - Contains the engine documentation, both source and published files.

    • HTML - Published HTML documentation files.

    • Source - Source markdown documentation files.

  • Extras - Additional helper and utility files.

  • Plugins - Contains plugins used in the engine.

  • Programs - Contains configuration files and log files for projects stored in the UE4 root directory and other Unreal programs such as UnrealFrontend and UnrealHeaderTool.

  • Shaders - Holds the shader source files (.usf) for the engine.

Select Skin
Light
Dark

Welcome to the new Unreal Engine 4 Documentation site!

We're working on lots of new features including a feedback system so you can tell us how we are doing. It's not quite ready for use in the wild yet, so head over to the Documentation Feedback forum to tell us about this page or call out any issues you are encountering in the meantime.

We'll be sure to let you know when the new system is up and running.

Post Feedback