unreal-packaging — Claude Code skill: what it does, how to install
Packages Unreal Engine 5 projects into distributable builds via the editor or RunUAT. Helps configure maps, cook assets, and prepare shipping releases for CI.
npx skills add gamedev-skills/awesome-gamedev-agent-skills --skill unreal-packaging -a claude-codeWhat unreal-packaging does
This skill guides developers through turning a UE 5.8 project into a standalone build. It covers the difference between Development and Shipping configurations, launch map setup in Maps & Modes, and pre-cook asset checks using UnrealEditor-Cmd. Asset errors should be resolved before cooking.
For CI workflows, the skill outlines RunUAT BuildCookRun flags for staging, archiving, and target platform builds. In UE 5.8, Zen Server acts as the default cooked store. Cooked .pak and .ucas containers end up in the staging folder rather than Saved/Cooked.
Windows builds require Visual Studio 2022 17.14 or later, MSVC 14.38, and Windows SDK 10.0.22621.0. Console packaging cannot use the standard Epic Games Launcher binary and requires an engine built from source code.
What it helps with
- configure Game Default Map to prevent packaged builds from launching into a black screen
- generate Shipping and Development builds from the editor menu
- automate cooking, staging, and archiving via RunUAT BuildCookRun for CI pipelines
- run DataValidation asset checks through UnrealEditor-Cmd before packaging
Example prompts for the agent
- Give me the RunUAT BuildCookRun command to package a Shipping build for Win64
- Why does my packaged UE5 build start with a black screen?
- How do I cook only specific maps instead of the whole project in Unreal 5.8?
How to install unreal-packaging
1Skills CLI (Vercel)
npx skills add gamedev-skills/awesome-gamedev-agent-skills --skill unreal-packaging -a claude-code2Manually: put the files in place
~/.claude/skills/unreal-packaging/SKILL.mdCopy the whole skill folder; for one project use .claude/skills/unreal-packaging/
1Skills CLI (Vercel)
npx skills add gamedev-skills/awesome-gamedev-agent-skills --skill unreal-packaging -a codex2Manually: put the files in place
.agents/skills/unreal-packaging/SKILL.mdFor all projects use ~/.agents/skills/
1Skills CLI (Vercel)
npx skills add gamedev-skills/awesome-gamedev-agent-skills --skill unreal-packaging -a cursor2Manually: put the files in place
.cursor/skills/unreal-packaging/SKILL.mdCursor also reads .agents/skills/ and .claude/skills/
1GitHub CLI
gh skill install gamedev-skills/awesome-gamedev-agent-skills unreal-packaging2Manually: put the files in place
.github/skills/unreal-packaging/SKILL.md1Skills CLI (Vercel)
npx skills add gamedev-skills/awesome-gamedev-agent-skills --skill unreal-packaging -a gemini-cli2Platform CLI
gemini skills install https://github.com/gamedev-skills/awesome-gamedev-agent-skills --path skills/unreal/unreal-packagingManually: put the files in place
.devin/skills/unreal-packaging/SKILL.mdThe legacy .windsurf/skills/ path still works
Skills CLI (Vercel)
npx skills add gamedev-skills/awesome-gamedev-agent-skills --skill unreal-packaging -a opencodeClaude.ai
Zip the folder and upload it in Settings → Capabilities → Skills
Step by step, with commands for each platform: How to install skills in Claude Code: five ways
Questions about unreal-packaging
How to install unreal-packaging in Claude Code?
Run npx skills add gamedev-skills/awesome-gamedev-agent-skills --skill unreal-packaging -a claude-code.
What is the difference between Development and Shipping builds?
Development keeps logging, stats, and the in-game console for testing. Shipping strips debug tools and enables full optimizations for the final player release.
Why are there no .uasset files in Saved/Cooked on UE 5.8?
UE 5.8 uses Zen Server by default as the cooked output store. Packaged container files like .pak and .ucas are placed in the staging output folder instead.
Source text
SKILL.md · Apache-2.0
---
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.
© gamedev-skills · Apache-2.0 · gamedev-skills/awesome-gamedev-agent-skills