Keep shipping assets from casual extraction

Pak Encryption

AES-256 encryption for shipping .pak archives: build-time encrypt, transparent runtime decrypt, and key protection to reduce casual asset extraction.

Overview

O3DE paks are essentially zip files — without encryption, an install package can be opened with common tools to extract models and textures. DawnEngine Pak encryption protects shipping archives at build time: on-disk file data, names, and directory metadata are ciphertext; the engine decrypts on demand at runtime with no game-logic or asset-load path changes.

This strengthens shipping-asset protection; it is not absolute anti-tamper. Clients still need offline decrypt, so the goal is to block casual extraction rather than defeat every advanced reverse-engineering attempt.

Key Capabilities

  • Build-time encrypt: the packaging pipeline can emit encrypted paks directly
  • Transparent runtime decrypt: matching launchers decrypt before load with no app code changes
  • Key protection: release launchers can embed key material safely; optional strict mode and signature checks
  • Integrity checks: tamper detection, with optional digital signatures to block forged packages

Use Cases

  • Commercial shipping where players should not unzip assets with common tools
  • Closed-source SDK projects that need asset protection and compliant delivery
  • Full delivery workflows alongside commercial licensing and a localized editor

Pak encryption is often used with the closed-source SDK and Dawn Stream. Manuals: docs site.