Build Unreal Engine from source

This guide will walk you through building Unreal Engine from source in order to build Linux dedicated server packages.


Step 1: Install Visual Studio prerequisites

See official guide


Step 2: Download the Unreal Engine source code

See official guide

  1. Connect your Epic account to GitHub
  2. Clone the UnrealEngine repository to a permanent location. Make sure you're cloning the release branch. This will take a long time.

You will build the Unreal Engine source code in a later step.


Step 3: Download and install the Unreal Engine cross-compilation toolchain

Download the cross-compilation toolchain corresponding to the version of Unreal Engine you downloaded in the previous step.

Download here


Step 4: Build the Unreal Engine editor

TODO: Look at other demos like this

See official guide

  1. Install Visual Studio prerequisites
    • TODO: See Setting Up Visual Studio -> C++ Tools
  2. .\Setup.bat
  3. .\GenerateProjectFiles.bat
    • You'll see a warning: Some Platforms were skipped due to invalid SDK setup:
    • Make sure that Linux is not listed here. If so, then step 1 was not done correctly.
  4. Open UE5.sln
  5. Wait for Indexing folder UnrealEngine to finish
    • You can see this by clicking the messae tab in the bottom left
  6. Set Solution Configuration to Development Editor
  7. Set Solution Platform to Win64
  8. Right click UE5 target in right sidebar and click Build
    • Takes 10-40 minutes depending on your hardware
  9. Right click on UE5 in the sidebar and click Debug -> Start New Instance
  10. Unreal Engine is built to at UnrealEngine\Engine\Binaries\Win64\UnrealEditor
    • Create a shortcut somewhere for quick access in the future

Step 5: Build your project's Linux dedicated server

See official guide

Once you have Unreal Engine built from source, open your project and package it for Linux.

  1. Select Platforms > Linux > Debug
    • If deploying to production, select Release instead. We use Debug here so we can catch any crashes while testing.
  2. Select Platform > Linux > MyProjectServer
  3. Validate the config looks like this: Linux server paltform config
  4. Click Platforms > Linux > Package Project
  5. Package the project to MyProject/Binaries/Linux/Server. This path is important since the Dockerfile we provide relies on it.