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

Managing Platform-Specific Asset Cooking Requirements

Configure custom cook settings to ensure assets are properly formatted and compressed for specific console and mobile hardware performance constraints.

In this lesson, you will learn how to leverage platform-specific cook settings to ensure your assets are precisely compressed and formatted to meet the unique performance constraints of console and mobile hardware.

When you package a game for multiple platforms, a "one size fits all" approach to asset cooking is inefficient. Mobile devices require smaller texture footprints to stay within memory budgets, while consoles might require specialized compression formats like ASTC or BC7 to balance visual fidelity against GPU bandwidth. The Unreal Engine DefaultDeviceProfiles.ini and PlatformDeviceProfiles.ini files serve as your primary toolkit for managing these differences.

Granular Cook Control

Instead of applying global compression settings, you can override properties on a per-platform basis. For example, to ensure mobile devices don't choke on high-resolution textures, you can force a lower MaxTextureSize or change the TextureFormat in your DefaultDeviceProfiles.ini.

[Android DeviceProfile]
+CVars=r.MaxTextureSize=2048
+CVars=r.MobileContentScaleFactor=1.0

[PS5 DeviceProfile]
+CVars=r.Streaming.PoolSize=4096
+CVars=r.Tonemapper.Sharpen=1.0

By defining these CVars (Console Variables) within specific profiles, the cooker reads these instructions during the asset transformation phase. If you are targeting a device with limited VRAM, the cooker will re-compress or downsample textures that exceed your defined limits, effectively "baking" these constraints into the cooked assets before they ever reach the target hardware.

Why This Matters

If you neglect these settings, you risk "bloat" where high-fidelity desktop assets are included in a mobile build, leading to slow load times and inevitable memory crashes. Conversely, by configuring these requirements, you allow the cooker to strip unnecessary Mip-maps, apply hardware-specific compression, and reorder data for faster disk I/O on console SSDs. This ensures that every byte sent to the target device is optimized for its specific architecture, maximizing both frame rate and installation footprint.

Key Takeaway: Use platform-specific device profiles to enforce texture and mesh constraints during the cook process, ensuring that your game remains within the memory and performance budgets of every target platform.