Building Unreal Engine 5.7 blueprint project package for Windows under Linux (Ubuntu 24.04)
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"3. Create the required symlink
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.gz5. 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.deb6. 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 -NoRayTracingchmod +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 cmdExample 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/Win64Caveats
- UE 5.7 is still unstable on both native Linux and Windows‑under‑Proton. Crashes are common, so save frequently.
- Tweaking
DefaultEngine.iniandDefaultEditor.inimay improve stability (e.g., disabling RayTracing, adjusting DX12 settings).