ai-behavior-trees-util…
Build a production behavior-tree runtime (Blackboard, action/condition leaves, sequence/selector/parallel composites, decorators)…
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,
Claude Code
$ npx -y skills add gamedev-skills/awesome-gamedev-agent-skills --skill unreal-packaging --agent claude-code
Codex
$ npx skills add gamedev-skills/awesome-gamedev-agent-skills --skill unreal-packaging -a codex -y
Cursor
$ npx skills add gamedev-skills/awesome-gamedev-agent-skills --skill unreal-packaging -a cursor -y
Gemini CLI
$ npx skills add gamedev-skills/awesome-gamedev-agent-skills --skill unreal-packaging -a gemini-cli -y
GitHub Copilot
$ npx skills add gamedev-skills/awesome-gamedev-agent-skills --skill unreal-packaging -a github-copilot -y
OpenCode
$ npx skills add gamedev-skills/awesome-gamedev-agent-skills --skill unreal-packaging -a opencode -y
Windsurf
$ npx skills add gamedev-skills/awesome-gamedev-agent-skills --skill unreal-packaging -a windsurf -y
name: unreal-packaging description: > Packages and ships Unreal Engine 5 (UE 5.8) projects: Shipping builds, cooking, pak/IoStore and RunUAT BuildCookRun with UAT and cook log reading. Use for a packaged game with a black screen, a map missing in the build, "BUILD FAILED" or an AutomationTool exit code. Not for store uploads (`steam-publish`, `itch-publish`) or gameplay compile errors (`unreal-cpp-gameplay`).
Turn a UE5 project into a build that starts on the right map and runs on a machine without the editor, and make that build reproducible from a command line. Targets **UE 5.8**.
launch map and which content gets cooked.
**When *not* to use:** store submission and depots → `steam-publish` / `itch-publish`. Gameplay C++ compile errors → `unreal-cpp-gameplay`. Building the engine from source is out of scope.
1. **Read the project and engine.** `EngineAssociation` in the `.uproject` is a version such as `5.8` for a Launcher engine and a GUID (or empty) for a source build; console platforms need a source build. Check that the platform SDK on the build machine meets the engine's minimum (see Version notes). 2. **Set what loads and what cooks.** Project Settings → Maps & Modes → **Game Default Map** (stored as `GameDefaultMap` in `Config/DefaultEngine.ini`). Maps that are only opened by name at runtime must be listed in Packaging → "List of maps to include in a packaged build" or cooked with `-map=`; assets loaded only by path need "Additional Asset Directories to Cook". 3. **Validate content:** `UnrealEditor-Cmd <Project>.uproject -run=DataValidation -unattended` and fix every error before cooking. 4. **Build with UAT** (default), even when the user packages from the editor, because the command line is reproducible:
# From Engine/Build/BatchFiles (RunUAT.bat on Windows, RunUAT.sh on macOS and Linux)
RunUAT BuildCookRun -project="<abs path>/MyGame.uproject" -noP4 \
-platform=Win64 -clientconfig=Development \
-build -cook -stage -pak -archive -archivedirectory="<abs path>/Builds" \
-utf8outputSwap `-clientconfig=Shipping` for release. Cook a subset with `-map=Start+Level01`. The editor path (Platforms → Windows → Package Project) and Project Launcher profiles run the same steps; a Launcher profile prints its full UAT command line in the Output Log. 5. **Read the logs on failure.** UAT prints the path of its log (`Log.txt`) and of the cook log (`Cook-*.txt`). Search them for `Error:`; the first error is usually the cause and the rest follow from it. Launcher engines on Windows write them under `%APPDATA%\Unreal Engine\AutomationTool\Logs\<engine path>`, source builds under `Engine/Programs/AutomationTool/Saved/Logs`. 6. **Run the packaged build (see Verify).** A finished cook proves the content converted, not that the game starts.
Say which of these you ran and quote the lines that prove it.
1. **UAT result:** the run ends with `BUILD SUCCESSFUL` and exit code 0, and the archive directory contains the executable plus `.pak`/`.utoc`/`.ucas` files under `<Project>/Content/Paks`. 2. **Smoke-run a Development build** from the archive with a log file: `<archive>/Windows/MyGame.exe -log -unattended -windowed -ResX=1280 -ResY=720 -abslog="<dir>/smoke.log"` (on a machine without a GPU, add `-nullrhi`). Let it reach the first map, close it, then check the log for the expected `LoadMap(/Game/...)` line and for any `Fatal error`, `Error:` or missing-asset warnings. 3. **Shipping builds** strip logging, so smoke-test the same content as Development or Test first, then ask the user to launch the Shipping build and report whether it reaches the main menu and can quit from the game's own menu. 4. **Optional:** if the project has automation tests, run them on the packaged Development build or in the editor as in `unreal-cpp-gameplay` before shipping.
map it opens by name) wasn't cooked.
cooker skipped it. Add its directory to cook, or reference it from a cooked asset.
output store by default, so that folder holds only a small `ue.projectstore` marker. Ship the staged or archived folder, built with `-pak`. Staging to loose files without `-pak` produces a build that streams content from your Zen server and is not distributable.
`LimitProcessLifetime=false` under `[Zen.AutoLaunch]` in `DefaultEngine.ini`; make sure the build agent tolerates the long-running `zenserver` process.
Test build, which keeps some tooling with Shipping-like optimizations.
its own exit option.
is older than the engine minimum, or a console platform is used with a Launcher engine.
incremental. A slow first cook is not a hang; watch the cook log grow.
C++ instead.
<img src="docs/assets/awesome-gamedev-agent-skills-banner.png" width="820" alt="awesome-gamedev-agent-skills — game-dev skills for AI coding agents.
Build a production behavior-tree runtime (Blackboard, action/condition leaves, sequence/selector/parallel composites, decorators)…
Implement game audio practice — bus/mixer architecture and gain in decibels, ducking (sidechain), adaptive/dynamic music via…
Build game cameras that feel good — 2D follow with a deadzone, look-ahead, smoothing, and level-bounds clamping; 3D third-person…
Plan, generate, source, normalize, and validate cohesive visual game assets. Use for art direction, style bibles, sprites,…
Build branching dialogue and narrative — a node/choice graph with conditions, variables, and localization hooks — and choose…
Design NPC and enemy decision-making with finite state machines, behavior trees, steering behaviors, and A* pathfinding —…
You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or…
Ask which skill or flow fits your situation. A router over the skills in this repo.