Skip to main content
skill CX Codex

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.

Install into Claude Code · Skills CLI (Vercel) All methods and platforms ↓
npx skills add gamedev-skills/awesome-gamedev-agent-skills --skill unreal-packaging -a claude-code
Open on GitHub

What 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-code

2Manually: put the files in place

~/.claude/skills/unreal-packaging/SKILL.md

Copy the whole skill folder; for one project use .claude/skills/unreal-packaging/

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

Similar skills

Everything for Game dev and 3D: Unity, Unreal, Godot, Blender →

From the same set77

unreal-cpp-gameplay Teaches the agent to write UE5 gameplay C++: reflection macros, Gameplay Framework class roles, and module dependencies in *.Build.cs. CX Codex +1 5,300installs unreal-blueprints Guides Unreal Engine 5 Blueprint visual scripting: selects proper graphs, organizes variables, and prevents hard-reference spaghetti across gameplay actors. CX Codex +1 5,300installs pygame-core A skill that lays out the skeleton of a pygame game: the main loop, delta-time movement, input, sprites and collisions. Useful the moment a project starts with import pygame. CX Codex +1 5,100installs bevy-ecs Keeps the agent inside Bevy's ECS model: plugins, components and resources, systems built on Query. Useful once your Rust project already pulls in bevy. CX Codex +1 5,100installs unreal-behavior-trees Build NPC AI in Unreal Engine 5 with Behavior Trees and Blackboards. Use it for enemy logic, patrols, reactive branches, and custom BT nodes. CX Codex +1 5,200installs unreal-niagara Walks the agent through Niagara in Unreal Engine 5: system and emitter assets, module stacks in the spawn/update stages, effects spawned from Blueprint or C++. CX Codex +1 5,200installs unreal-enhanced-input Configures Unreal Engine 5 Enhanced Input assets, C++ bindings, and triggers. Useful when wiring movement, look, and jump controls or fixing input loss on clients. CX Codex +1 5,200installs love2d-core Sets up the foundational loop, delta-time motion, input, and screen stacks for LÖVE 11.5 in Lua. Fixes framerate-dependent movement and configuration mistakes. CX Codex +1 5,000installs

Project sponsors

Companies that keep this analytics open
Gold sponsor

Impressions, clicks and code copies — open statistics. We keep the numbers public for the same reason NeBlask itself is public. Become a sponsor