unreal-packaging
gamedev-skills/awesome-gamedev-agent-skills
Package and ship UE5 projects with editor menus or command-line BuildCookRun automation.
What is unreal-packaging?
Converts a UE5 project into a runnable, distributable build by setting the launch map, choosing build configuration (Development vs Shipping), cooking content, and packaging. Use when producing a test or release build, configuring packaging settings, or automating builds for CI.
- Set Game Default Map in Maps & Modes to control what loads first in packaged builds
- Choose between Development (optimized with logging/console for testing) and Shipping (all optimizations, debugging stripped) configurations
- Cook content to convert assets to platform-specific format and pack into .pak files
- Package from the editor via Platforms menu or automate with RunUAT BuildCookRun command-line tool
- Configure Packaging settings to specify which maps/directories to cook, enable compression, and control rebuild behavior
- Verify packaged builds by running the executable and confirming correct map loads and gameplay runs
How to install unreal-packaging
npx skills add https://github.com/gamedev-skills/awesome-gamedev-agent-skills --skill unreal-packaging- UE5.8 project with a .uproject file and Config/Default*.ini files
- Platform-specific SDKs and toolchains installed (Windows build tools for Win64, Android SDK/NDK for mobile, console SDKs for console platforms)
- RunUAT tool available in Engine/Build/BatchFiles/ (RunUAT.bat on Windows, RunUAT.sh on macOS/Linux)
How to use unreal-packaging
- 1.Set the Game Default Map in Project Settings → Maps & Modes to specify the launch level
- 2.Choose Development or Shipping build configuration based on whether you need debugging tools or maximum optimization
- 3.For editor packaging: open Platforms menu, select target platform, set Binary Configuration, and click Package Project
- 4.For command-line builds: use RunUAT BuildCookRun with flags like -platform=Win64, -clientconfig=Shipping, -cook, -build, -stage, -pak, -archive
- 5.Configure Packaging settings in Project Settings to specify which maps/directories to cook and enable compression if needed
- 6.Run the packaged executable to verify it loads the correct map and gameplay functions correctly
Use cases
- Creating a test build for QA with Development configuration and full logging enabled
- Producing a release build with Shipping configuration stripped of debugging tools for distribution
- Automating builds in CI/CD pipelines using RunUAT BuildCookRun with platform-specific flags
- Cooking only content without packaging to refresh assets after code changes
- Packaging for multiple platforms (Windows, macOS, Linux, console) with platform-specific settings
- Game developers shipping UE5 projects to players
- Build engineers setting up CI/CD pipelines for automated packaging
- QA teams preparing test builds for validation
- Release managers preparing shipping builds for distribution
unreal-packaging FAQ
The Game Default Map in Maps & Modes is not set or the map wasn't included in the cook. Set the correct map in Maps & Modes and ensure it's included in Packaging settings.
Development keeps logging, console, and stats enabled for testing but is slower; Shipping strips all debugging tools and applies maximum optimizations for release. Only ship Shipping builds to players.
Use RunUAT BuildCookRun with -cook -skipstage flags to cook assets without creating the final package, useful for refreshing content after code changes.
Yes, drop the -allmaps flag and use -map=Map1+Map2 to cook a subset of maps, reducing cook time for large projects.
The first cook compiles all shaders and processes all assets from scratch; subsequent cooks are incremental and much faster. This is normal and not a hang.
Full instructions (SKILL.md)
Source of truth, from gamedev-skills/awesome-gamedev-agent-skills.
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 BuildCookRunfor CI. - Use when the project has a
*.uprojectandConfig/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
- 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.
- Pick the build configuration: Development (default; optimized but keeps logging/
stats/console for testing) vs Shipping (all optimizations, debugging tools stripped — for
release).
DebugGame/Debugare for debugging engine/game code and aren't for distribution;DebugGameisn't available for Blueprint-only projects. - Understand cook vs package. Cooking converts assets to the target platform's format
and packs them into
.pakfiles. Packaging bundles the compiled executable + cooked content into a standalone, distributable set of files. Packaging runs a cook as part of it. - Package from the editor: the Platforms menu → choose the platform (e.g. Windows) → set the Binary Configuration → Package Project → pick an output folder.
- Or build from the command line with the Unreal Automation Tool (
RunUAT BuildCookRun) for repeatable/CI builds. - Tune Packaging settings (Project Settings → Packaging): which maps/directories to cook, full-rebuild, compression, and whether to build all maps.
- 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)
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)
# 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.
3. Cook only (no packaging), e.g. to refresh content
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 orTest. - 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 (Windows build tools, Android SDK/NDK, console SDKs). Install the platform's prerequisites.
- 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) and the Build Configurations /BuildCookRunreferences.
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.
Related skills
More from gamedev-skills/awesome-gamedev-agent-skills and the wider catalog.

visual-novel
Build branching visual novels with script engine, character display, choices, and player conveniences like save/load and skip.

ai-behavior-trees-utility-ai
Build production behavior-tree and utility-AI runtimes for NPC decision-making.

audio-design
Design game audio mixing, adaptive music, and beat-synced SFX using buses, ducking, and layering.

bevy-ecs
Structure Bevy games in Rust using Entity Component System: App, components, resources, systems, and scheduling.

gemini-watermark-remover
Remove visible Gemini watermarks from local images via CLI.

gpt-image-2
Full OpenAI-compatible GPT Image 2 coverage for text-to-image, edits, and streaming responses.