Skip to content

Chapter 8 of 8

Packaging, Profiling, and Project Settings

Packaging a project prepares it for distribution outside the editor. The File → Package Project menu targets platforms such as Windows (64-bit), with Unreal compiling content and cooking assets into a platform-specific format before producing a standalone executable and supporting files in a configured output directory. The Cook commandlet processes content for the target platform by converting assets to platform-specific formats, compressing textures, and stripping editor-only data. Editor builds include debugging tools and the editor itself, useful during development, while Shipping builds strip debug features, console commands, and logging for smaller, optimized retail binaries. The Project Launcher provides a single window to build, cook, and package for multiple platforms with options for maps to include, DLC, and distribution settings.

Common build issues can often be diagnosed by understanding the asset pipeline. Textures that appear blurry after packaging often indicate incorrect Texture Group LODBias settings or compression artifacts; setting Compression Settings to UserInterface2D for HUD textures or UserInterface for crisp icons avoids mip artifacts. Shader compilation hitching at startup can be mitigated by enabling Shader Compilation in Project Settings → Packaging so pre-cooked PSO files load quickly. The Derived Data Cache stores preprocessed asset data such as compressed textures and shader compilations, speeding up editor loading and build times by avoiding redundant processing. The Saved folder contains auto-generated logs, screenshots, crash dumps, save games, and the AssetRegistry, and is typically excluded from source control so the engine can regenerate it as needed.

Performance profiling is a daily activity in Unreal development. The stat unit command displays frame time, game thread time, render thread time, and GPU time in milliseconds, quickly revealing whether the project is CPU or GPU bound. stat fps adds a real-time FPS counter and frame time at the top of the viewport. stat GPU and Profile GPU break down GPU rendering cost by pass and draw call, exposing expensive materials, overdraw, or post-process bottlenecks. LOD bias globally adjusts when the engine switches to lower-detail models; increasing it forces earlier LOD switches for performance, while decreasing preserves detail at higher cost. Texture Streaming Pool Size in Project Settings → Rendering limits the total video memory allocated for streamed textures, with too small a pool causing blurriness and too large wasting memory. The Project Settings menu is the central hub for these global settings, with sections for Rendering, Physics, Packaging, Input, and Maps & Modes controlling everything from default classes to platform-specific options.

All chapters
  1. 1Editor Interface and Asset Management
  2. 2Blueprints and Visual Scripting
  3. 3Materials and Shading
  4. 4Lighting and Rendering
  5. 5Physics, Collision, and Movement
  6. 6Actors, Levels, and Runtime Spawning
  7. 7Animation, AI, and Multiplayer
  8. 8Packaging, Profiling, and Project Settings

Drill it

Reading is not remembering. These come from the Unreal Engine Basics deck:

Q

What Unreal Engine panel displays the list of actors currently present in the level?

The Outliner panel lists all actors currently placed in the level, organized hierarchically, and allows selection, searching, grouping, and visibility toggling...

Q

How do you open the Blueprint editor for a specific Blueprint asset?

Double-click the Blueprint asset in the Content Browser (or right-click and choose Edit), which opens the Blueprint editor containing Event Graph, Functions, Va...

Q

What is the purpose of the Construction Script in a Blueprint?

The Construction Script runs when an actor is placed or moved in the editor, and again whenever a property changes. It is commonly used for procedural setup suc...

Q

Which node executes logic only once when the game begins playing?

The Event BeginPlay node fires once on each actor when play starts, after construction and initialization, making it the standard place to set up gameplay logic...