gamedev-skills/awesome-gamedev-agent-skillsPrüfung bestanden
SKILL DETAIL
unreal-packaging
gamedev-skills/awesome-gamedev-agent-skills/unreal-packaging
Package and ship an Unreal Engine 5 project: the Platforms menu Package Project flow, build configurations (Development vs Shipping), cooking content, packaging settings and the Game Default Map, and command-line builds with RunUAT BuildCookRun. Use when packaging a build, making a shipping build, cooking content, configuring packaging settings, or when the user mentions package Unreal, cook content, shipping build, or BuildCookRun.
Installationen · 241Quelle ansehen
Installation
npx skills add https://github.com/gamedev-skills/awesome-gamedev-agent-skills --skill unreal-packaging
Skill-Dateien
SKILL.md
Zuletzt synchronisiert · 25.10.2026
SKILL.md›
---
name: unreal-packaging
description: >
Package and ship an Unreal Engine 5 project: the Platforms menu Package Project flow, build
configurations (Development vs Shipping), cooking content, packaging settings and the Game
Default Map, and command-line builds with RunUAT BuildCookRun. Use when packaging a build,
making a shipping build, cooking content, configuring packaging settings, or when the user
mentions package Unreal, cook content, shipping build, or BuildCookRun.
---
# Unreal Packaging & Cooking
Turn a UE5 project into a runnable, distributable build: choose the right build configuration,
cook content, set the launch map, and package — from the editor or the command line. Targets
**UE 5.8**.
## When to use
- Use when producing a build (test or release), choosing Development vs Shipping, cooking
content, configuring Packaging / Maps & Modes settings, or automating builds with
`RunUAT BuildCookRun` for CI.
- Use when the project has a `*.uproject` and `Config/Default*.ini`, and the goal is a packaged
player rather than running in-editor.
**When *not* to use:** storefront submission/release process → `steam-publish` / `itch-publish`.
Editor-time gameplay/iteration is not packaging.
## Core workflow
1. **Set the launch map.** Project Settings → **Maps & Modes** → **Game Default Map** is what a
packaged build loads first. Wrong/empty here is the most common "packaged game is black"
cause.
2. **Pick the build configuration:** **Development** (default; optimized but keeps logging/
stats/console for testing) vs **Shipping** (all optimizations, debugging tools stripped — for
release). `DebugGame`/`Debug` are for debugging engine/game code and aren't for distribution;
`DebugGame` isn't available for Blueprint-only projects.
3. **Understand cook vs package.** **Cooking** converts assets to the target platform's format.
**Staging/packaging** copies the compiled executable + cooked content into a standalone,
distributable folder, with content in container files (`.pak`, plus `.utoc`/`.ucas` when
**Use Io Store** is on, which is the default). Packaging runs a cook as part of it.
4. **Package from the editor:** the **Platforms** menu → choose the platform (e.g. Windows) →
set the Binary Configuration → **Package Project** → pick an output folder.
5. **Or build from the command line** with the Unreal Automation Tool (`RunUAT BuildCookRun`)
for repeatable/CI builds. The **Project Launcher** (Platforms → Project Launcher) saves the
same build/cook/stage/deploy choices as reusable launch profiles.
6. **Tune Packaging settings** (Project Settings → **Packaging**): which maps/directories to
cook, full-rebuild, compression, and whether to build all maps.
7. **Validate assets before packaging when UnrealEditor-Cmd is available.** Run
`UnrealEditor-Cmd <Project>.uproject -run=DataValidation` (`UnrealEditor-Cmd.exe` on
Windows) and fix every reported validation error before cooking.
8. **Verify** by *running the packaged build*, not just by a successful cook — launch the
executable and confirm it loads the right map and runs.
## Patterns
### 1. Editor packaging (the menu path)
```text
Platforms (toolbar)
-> Windows
-> Binary Configuration -> Development | Shipping
-> Content Management -> Package Project
-> choose/confirm the staging output folder
```
### 2. Command-line build with UAT (CI-friendly)
```bash
# Cook + build + stage + pak + archive a Shipping Windows build.
RunUAT BuildCookRun \
-project="C:/Path/MyGame.uproject" \
-noP4 -platform=Win64 -clientconfig=Shipping \
-cook -allmaps -build -stage -pak -archive \
-archivedirectory="C:/Builds/MyGame"
```
`RunUAT` lives in `Engine/Build/BatchFiles/` (`RunUAT.bat` on Windows, `RunUAT.sh` on
macOS/Linux). Drop `-allmaps` and pass `-map=Map1+Map2` to cook a subset. UE 5.8 adds
experimental Windows on Arm game builds: `-clientarchitecture=arm64` (or `arm64+x64` for both
executables side by side); the editor itself is not supported on Arm64 in 5.8.
### 3. Cook only (no packaging), e.g. to refresh content
```bash
RunUAT BuildCookRun -project="C:/Path/MyGame.uproject" -noP4 \
-platform=Win64 -clientconfig=Development -cook -skipstage
```
## Pitfalls
- **Packaged build loads a black/empty level** — Game Default Map isn't set (or that map wasn't
cooked). Set it in Maps & Modes and ensure it's included in the cook.
- **Shipping a Development build** — Development keeps logging/console/stats and is slower; ship
**Shipping**. Conversely, Shipping strips `UE_LOG`/console, so debugging a Shipping-only issue
needs Development or `Test`. A Shipping build has no console `quit`, so the game needs its own
exit option.
- **A referenced map/asset is missing at runtime** — it wasn't cooked. Add it to the Packaging
settings' maps/directories to cook, or cook all maps.
- **Build fails on the platform** — the platform SDK/toolchain isn't installed or is too old.
For UE 5.8 on Windows that means Visual Studio 2022 17.14+ (2026 recommended), MSVC 14.38+
and Windows SDK 10.0.22621.0+; macOS needs Xcode 15.2+. Check the release notes' Platform SDK
table for other targets. Console packaging also requires a source build of the engine, not
the Launcher build.
- **`Saved/Cooked/<Platform>` has no `.uasset`/`.uexp` files** — in UE 5.8 Zen Server is the
cooked output store by default (unless the project turned it off in Packaging settings). The
folder only holds a small `ue.projectstore` marker and the data lives in the Zen data
directory. Staging still writes `.pak`/`.utoc`/`.ucas` to the staging folder; ship that
folder, not `Saved/Cooked`. For team and CI machines Epic recommends
`LimitProcessLifetime=false` under `[Zen.AutoLaunch]` in `DefaultEngine.ini` so `zenserver`
is not started and stopped on every step; make sure your build automation tolerates that
long-running process.
- **Expecting Blueprint Nativization** — it was **removed in UE5**; don't rely on it for
performance. Profile and move hot logic to C++ (`unreal-cpp-gameplay`) instead.
- **First cook is very slow** — shaders and all assets cook from scratch; subsequent cooks are
incremental. Don't mistake a slow first cook for a hang.
## References
- Primary docs: "Packaging Your Project"
(`https://dev.epicgames.com/documentation/en-us/unreal-engine/packaging-your-project`), the
Build Configurations / `BuildCookRun` references, "Zenserver as Cooked Output Store"
(`https://dev.epicgames.com/documentation/en-us/unreal-engine/using-zen-storage-server-as-cooked-output-store-for-unreal-engine`)
and the Platform SDK table in the UE 5.8 release notes
(`https://dev.epicgames.com/documentation/en-us/unreal-engine/unreal-engine-5-8-release-notes`).
## Related skills
- `steam-publish` / `itch-publish` — distributing the packaged build to a storefront.
- `unreal-cpp-gameplay` — moving hot logic to C++ now that BP nativization is gone.