Course contentsShow
← Unreal Engine Game Development
Lesson 872 of 88012. World Building and DeploymentFree lesson

Finalizing Distribution Packages for Store Submission

Prepare final release builds by stripping debug symbols and validating package integrity against official platform submission requirements.

In this lesson, you will learn how to finalize your project by stripping unnecessary debugging data and verifying your package integrity to meet strict platform submission standards.

When preparing for store submission, the Development and Debug build configurations are insufficient because they contain metadata, symbol files, and unoptimized asset paths that can bloat your executable and reveal proprietary information. For a production release, you must switch your Build Configuration to Shipping and your Build Target to Game.

Stripping Debug Symbols

To ensure your package is as lean and secure as possible, you must exclude debug symbols (.pdb on Windows). In your Project Settings, verify that "Include Debug Files" is unchecked under Packaging. Furthermore, ensure your Build.cs or Target.cs files do not include developer-only modules by wrapping them in preprocessor checks:

if (Target.Configuration != UnrealTargetConfiguration.Shipping)
{
    // These modules will be excluded from the final shipping build
    PrivateDependencyModuleNames.Add("UnrealEd");
}

Validating Package Integrity

Platform holders (such as Sony, Microsoft, or Nintendo) require that your package adheres to specific directory structures and file size constraints. Use the Unreal Frontend or the RunUAT.bat command-line tool with the -pak and -compressed flags to ensure your content is bundled into encrypted, high-performance .pak files.

Before uploading to the store dashboard, use the Re-run Cook command to ensure no stale data remains in your Saved/Cooked folders. Perform a "clean" build to verify that every asset referenced by your maps is actually contained within the distribution chunks. Finally, validate that your Game.ini and Engine.ini files have been stripped of any development-only console variables, as these can trigger automated rejection during the platform’s technical compliance review.

By automating this process through your existing CI pipeline, you ensure that the binary submitted to the store is identical to the one you tested, minimizing the risk of platform-specific crashes or store-front distribution errors.

Key Takeaway: A compliant distribution package requires a Shipping build configuration with debug symbols stripped, verified asset chunking, and the removal of all developer-only code modules to ensure optimal performance and platform security.