Packaging & Shipping
Build configurations, cooking assets, platform targets, and shipping optimizations for UE5 projects.
Build Configurations
| Configuration | Optimizations | Use Case |
|---|---|---|
| Debug | None — all symbols, no inlining | Deep C++ debugging with full call stacks. Very slow to run. |
| DebugGame | Engine optimized, game code debug | Debug your game code while running engine at normal speed. |
| Development | Moderate — console, logging, PIE | Daily development. Editor features, hot reload, logging enabled. |
| Test | Like Shipping + some testing tools | QA builds. Near-shipping performance with profiling hooks. |
| Shipping | Full — no logging, no cheats, LTO | Final release. All debug features stripped. Maximum performance. |
Cooking Assets
Cooking converts raw .uasset files into platform-specific
binary formats: textures compress to DXT/BC7 (PC), ASTC (mobile), or PVRTC (iOS);
shaders compile for the target RHI (DX12, Vulkan, Metal).
Cook via Platforms → <Target> → Package Project in the editor toolbar, or via Unreal Automation Tool (UAT) from the command line:
# Windows — package for Win64 Shipping
Engine/Build/BatchFiles/RunUAT.bat BuildCookRun \
-project="MyProject/MyProject.uproject" \
-noP4 -platform=Win64 \
-clientconfig=Shipping \
-cook -build -stage -pak -archive \
-archivedirectory="D:/Builds/MyProject"
Add -iterate to UAT to only re-cook assets that changed since the last build. Drastically reduces cook time for large projects.
Supported Target Platforms
| Platform | RHI | Notes |
|---|---|---|
| Windows (x64) | DX11 / DX12 / Vulkan | Primary target. Full feature set including Nanite, Lumen. |
| PlayStation 5 | GNM/GNMX | Requires Sony dev kit and licensed SDK. |
| Xbox Series X|S | DX12 | Requires Microsoft GDK and partner access. |
| macOS (ARM/x64) | Metal | Nanite and Lumen supported on Apple Silicon. |
| Android | Vulkan / OpenGL ES3.2 | Nanite on high-end Android (Snapdragon 8 Gen 2+). |
| iOS / iPadOS | Metal | A15+ for Lumen mobile mode. |
| Linux (x64) | Vulkan | Full feature support. Requires separate toolchain. |
PAK Files & Asset Streaming
The -pak flag bundles all cooked assets into a .pak archive.
For large games, split content across multiple PAKs using Chunk IDs
assigned in the Asset Manager or via PrimaryAssetLabel assets. The runtime
chunk downloader then streams PAKs on demand — enabling DLC and reduced initial download size.
Shipping Optimization Checklist
- Set texture compression to BC7 (PC) for best quality/size ratio.
- Enable Texture Streaming — stream mips on demand rather than loading all mips upfront.
- Set
r.Nanite.MaxPixelsPerEdgefor target hardware to reduce overdraw. - Profile with Unreal Insights before shipping — identify CPU/GPU frame time hotspots.
- Strip debug symbols (
-nodebuginfo) from shipping builds to reduce package size. - Use Asset Audit (Window → Developer Tools → Asset Audit) to identify oversized assets.
- Enable Shader Compression in Project Settings → Packaging.
PlayStation and Xbox require passing a Technical Requirements Checklist (TRC/XR) before submission. Common failures: startup time, save system behavior, and accessibility options. Plan for this in your release schedule.