Downloading Unreal Engine Source Code

Prerequisite Topics

This page assumes you have prior knowledge of the following topics. Please read them before proceeding.

Unreal Engine 4 is available to be downloaded by licensees from Epic's Perforce (P4V) proxy server. The login credentials for the Perforce server are provided to your team's technical lead by Epic Games in your UDN welcome email. Only one set of login credentials is provided to each team.

Source code for Unreal Engine 4 (UE4) can be downloaded by our subscribers from the Unreal Engine GitHub repository. Before you can access the repository, you must be an Unreal Engine subscriber with a GitHub account. For instructions on associating your GitHub account with your Unreal Engine account, visit the UE4 on GitHub page.

Source Code Branches

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

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.

Connecting to Epic perforce requires utilizing the SSL feature, and you must be running a 2012.1 or later version of a Perforce client (P4V, p4, or API). You can take advantage of latency based routing to automatically connect to the closest Perforce regional proxy by using the global DNS name. Alternatively, you can connect direct to a regional proxy to ensure you always connect to the closest one.

Connect to Epic's Perforce Server

  1. Install the P4V Perforce client for Windows. The client can be downloaded from the Perforce Downloads page.

    Perforce Client

  2. In the Open Connection dialog, enter the following connection info:

    • Server:

      The address above should automatically direct you to a regional proxy with the best latency based on your geographic location. If for some reason you need to connect to a specific regional proxy, you can connect to them using the addresses below:

      • United States East (Virginia):

      • United States West (Oregon):

      • Asia Pacific Northeast (Tokyo):

      • Europe Central (Frankfurt):

    • User: Perforce username provided by Epic Games.

    • Password: Perforce password provided by Epic Games.

  3. Press OK to connect to the Perforce Server.

  4. In P4V, choose Connection > New Workspace to create a new workspace for the engine. Enter the information below and click OK to create the workspace:

    • Workspace name: UE4_TeamName (This is a recommendation. You can choose any workspace name you like as long as it ends with your team name.)

    • Stream: Click Browse and select //UE4/Release-Latest from the list of available streams.

  5. In the Depot pane, click the Filter Depot button and select Tree Restricted to Workspace View.

Epic maintains a consistent certificate fingerprint for all broker and proxy SSL endpoints, however Perforce requires a trust per IP address + fingerprint pair. When connecting to an endpoint for the first time, you must explicitly trust that endpoint. The Epic fingerprint is 45:0D:78:E2:0E:9E:E4:82:45:80:16:36:29:5E:54:4D:66:31:6C:43.

P4V will prompt to trust the new endpoint:


Command line p4 uses the p4 trust command.

$ p4 trust -y
The fingerprint of the server of your P4PORT setting
'' ( is not known.
That fingerprint is 45:0D:78:E2:0E:9E:E4:82:45:80:16:36:29:5E:54:4D:66:31:6C:43
Added trust for P4PORT '' (

Using a Local Proxy Server

If you are running a local proxy, you must connect through a broker instead of using the region proxy servers. You can connect to the global broker using the address below:


The address above should automatically direct you to a regional broker with the best latency based on your geographic location. If for some reason you need to connect to a specific regional broker, you can connect to them using the addresses below:

  • United States East (Virginia):

  • Asia Pacific Northeast (Tokyo):

  • Europe Central (Frankfurt):

Download Unreal Engine 4

We distribute Unreal Engine 4 to licensees via the //UE4/Release-Latest stream in the Perforce depot. This contains the entire engine along with several additional projects in the form of example games, samples, and demos. You have the option of downloading everything or picking and choosing only the parts you want or need. In order to get set up as quickly as possible, we recommend you only download the bare minimum to start with and then download other parts on an as-needed basis. This can dramatically reduce idle time spent waiting for the download to finish.

There are a large number of files in the //UE4/Release-Latest stream and the total download size is many gigabytes so the download can take quite a while when syncing the entire branch.

  1. Right-click on the UE4 stream and choose Get Latest Revision.

    Perforce - Get Latest Revision

  2. The latest version of all files will be downloaded.

Downloading the Source Code

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

Choose Your Operating System




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 2015.

    All desktop editions of Visual Studio 2015 can build UE4, including Visual Studio Community 2015, 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 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.


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.