Building Unreal Engine 5.7 blueprint project package for Windows under Linux (Ubuntu 24.04)

Published: (March 31, 2026 at 12:35 PM EDT)
3 min read
Source: Dev.to

Source: Dev.to

Prerequisites

  • Ubuntu 24.04 (or another recent Linux distribution)
  • Unreal Engine 5.7 source code compiled for Linux (or the binary distribution)
  • Umu/Proton for running Windows binaries under Wine
  • Internet connection for downloading SDKs and tools

1. Set paths and create the AutoSDK directory

export UE_PATH=/Path/To/UE_5.7          # ← set this to your Unreal Engine directory
export MSVC_PATH=$UE_PATH/AutoSDK/HostWin64/Win64
mkdir -p "$MSVC_PATH"

2. Download the Windows SDK and Visual Studio Build Tools with msvc-wine

cd "$UE_PATH"
git pull https://github.com/mstorsjo/msvc-wine
cd msvc-wine
./vsdownload.py --accept-license \
    --major 17 \
    --dest "$MSVC_PATH" \
    --msvc-version 17.8 \
    --sdk-version 10.0.22621 \
    --architecture x64 \
    --host-arch x64
./install.sh "$MSVC_PATH"
ln -s "$MSVC_PATH/VC/Tools/MSVC" "$MSVC_PATH/VS2022"

4. Download GE‑Proton 10‑34

cd "$UE_PATH"
wget https://github.com/GloriousEggroll/proton-ge-custom/releases/download/GE-Proton10-34/GE-Proton10-34.tar.gz
tar -xzf GE-Proton10-34.tar.gz

5. Install the Umu launcher

wget https://github.com/Open-Wine-Components/umu-launcher/releases/download/1.4.0/umu-launcher_1.4.0-1_all_ubuntu-noble.deb
sudo apt install ./umu-launcher_1.4.0-1_all_ubuntu-noble.deb

6. Create a wrapper script ($UE_PATH/umu)

#!/usr/bin/env bash
set -euo pipefail

# Prevent some crashes on RTX GPUs
nvidia-settings -a "[gpu:0]/GPUPowerMizerMode=1"

# ==== USER SETTINGS ====
export UE_PATH="/Your/Path/To/UE_5.7"
export UE_SDKS_ROOT="z:\\Your\\Path\\To\\UE_5.7\\AutoSDK"

export PROTONPATH="$UE_PATH/GE-Proton10-34"
export WINEPREFIX="$UE_PATH/prefix"

# Additional stability tweaks
export DXVK_ASYNC=1
export PROTON_USE_XALIA=0
export DISABLE_LAYER_MESA_ANTI_LAG=1
export VKD3D_CONFIG=nodxr   # disable RayTracing

EXE="$1"
shift || true

mkdir -p "$WINEPREFIX"
exec umu-run "$EXE" "$@"

Make it executable:

chmod +x "$UE_PATH/umu"

7. Create an Unreal Engine launch script ($UE_PATH/start)

#!/usr/bin/env bash

# Use DX12 and disable RayTracing for better stability
./umu Engine/Binaries/Win64/UnrealEditor.exe -dx12 -NoRayTracing
chmod +x "$UE_PATH/start"

8. Building a Windows package from the command line

Why the editor packaging fails

Attempting to package directly from the UE editor on Linux often ends with an error similar to:

LogOutputDevice: Error: === Handled ensure: === 
...
BuildCookRunParams='-nop4 -utf8output -nocompileeditor -skipbuildeditor -cook ...

The issue stems from missing Windows‑specific build targets in the Linux environment.

Use the umu wrapper to run the Windows command prompt

cd "$UE_PATH"
./umu wineconsole cmd

Example RunUAT command

Replace the placeholders with your actual project paths:

set UE_PATH=Z:\Your\Path\To\UE_5.7
cd %UE_PATH%\Engine\Build\BatchFiles
RunUAT.bat BuildCookRun ^
    -nop4 ^
    -utf8output ^
    -project="%UE_PATH%\Projects\YourProject\YourProject.uproject" ^
    -unrealexe="%UE_PATH%\Engine\Binaries\Win64\UnrealEditor-Cmd.exe" ^
    -platform=Win64 ^
    -clientconfig=Development ^
    -serverconfig=Development ^
    -installed ^
    -nocompileeditor ^
    -skipbuildeditor ^
    -nobuild ^
    -cook ^
    -stage ^
    -package ^
    -pak ^
    -iostore ^
    -prereqs ^
    -archive ^
    -archivedirectory="%UE_PATH%\Projects\YourProject\Packaged\Win64"

Running the command inside the umu‑wrapped cmd will produce a packaged Windows build in:

Projects/YourProject/Packaged/Win64

Caveats

  • UE 5.7 is still unstable on both native Linux and Windows‑under‑Proton. Crashes are common, so save frequently.
  • Tweaking DefaultEngine.ini and DefaultEditor.ini may improve stability (e.g., disabling RayTracing, adjusting DX12 settings).
0 views
Back to Blog

Related posts

Read more »

Number in man page titles e.g. sleep(3)

If you do Linux systems programming, you have probably pored over man pages, either on the command line or, my personal preference, using the excellent man7.org...