Build a Linux package

Unreal can build a Linux version from a Windows machine, once you install the cross-compile toolchain. You do this once per engine version.

Before you begin

The Unreal New Project dialog with the Third Person template selected under Games
A new Third Person project, enough to try a Linux build.

Install the cross-compile toolchain

Unreal cannot produce a Linux build out of the box. It needs two things, and both must match the engine version you are building with: the Linux target platform, an optional component of the engine install, and the cross-compile toolchain, a separate download from Epic.

  1. Open the Epic Games Launcher and go to Unreal Engine › Library

    The Unreal Engine library in the Epic Games Launcher
    Your installed engine versions.
  2. Open the menu beside the engine version you will use

    The three-dot icon next to that version.

    The drop-down menu beside the 5.6.1 Launch button, with Options at the top
    The version's menu, with Options at the top.
  3. Choose Options

    This opens the list of optional components for that install.

  4. Tick the Linux target platform and apply

    The download is large and the install takes a while. It only happens once per engine version — but note that installing a new engine version later means doing this again for it.

    The Unreal Engine 5.6.1 Installation Options dialog with Linux ticked under Target Platforms and the Apply button
    Target Platforms › Linux, then Apply.
  5. Download and install the cross-compile toolchain for your engine version

    The Linux target platform does not include the compiler. Download the clang cross-compile toolchain from Epic's Linux development requirements page and run its installer. Pick the version in the Cross-Compile Toolchain column for your engine: v23 for 5.5, v25 for 5.6, v26 for 5.7.

    Epic's version history table matching each Unreal Engine version to its cross-compile toolchain
    Epic's table: one toolchain per engine version.
You will know it worked when

Unreal Editor offers Linux under Platforms. If it does not appear, the editor was open during the install — restart it.

Package the project

  1. Enable Pixel Streaming, and restart the editor

    In Edit › Plugins, search for Pixel Streaming, enable Pixel Streaming (Plugin 1), and restart. Not Pixel Streaming 2, which also appears on 5.5 and 5.6 and does not stream there — see plugin compatibility. This matters more for Linux than for Windows, because Linux uploads are not stream-tested.

  2. Go to Platforms › Package Project › Linux

    That is the menu path in Unreal 5.6 and newer (older versions list it as Platforms › Linux › Package Project). Pick Linux, not LinuxArm64. Choose an empty folder for the output.

    The Platforms menu in Unreal 5.6 with Package Project and then Linux highlighted, LinuxArm64 listed just below
    Platforms › Package Project › Linux.
  3. Wait, and read the log if it fails

    The first Linux package of a project is slow — shaders are compiled for a platform this project has never targeted before.

    Packaging progress for the Linux build
    Packaging in progress.
  4. Zip the contents of the output folder

    Select everything inside it — not the folder — and compress it to a ZIP. A Linux build has a .sh launcher at its root instead of an .exe, and the name of that file matters when you upload.

    The packaged Linux build's contents
    Inside the packaged folder: note the .sh file.
You now have

A ZIP with a .sh launcher at its top level. Note its name — the next page needs it.

Last updated