Reduce texture memory in Unreal before the pool overflows.
Measure the material set, identify the high-cost maps, and turn the result into compression, LOD, packing, and streaming decisions.
Analyze a complete texture set or ZIP
Choose the real source files instead of entering every width, height, quantity, format, and mip setting by hand. The browser tool reads supported image headers, expands ZIP entries locally, hashes exact duplicates, samples decoded alpha where supported, and calculates each mip level with GPU block rounding.
- Download size and expanded source bytes
- RGBA8-equivalent uncompressed GPU memory and exact mipmap overhead
- Desktop, Mobile, and VR / Quest recommendations
- BC1, BC3, BC5, BC7, ASTC, ETC2, and KTX2 transcode comparisons
- Unused alpha, duplicate, oversized-map, normal-format, and ORM packing checks
What raises texture memory in Unreal Engine?
Large source dimensions, full mip chains, unsuitable compression settings, alpha-bearing textures, duplicate assets, and several separate material masks all contribute to the texture pool. Unreal streaming can vary residency, but the imported format and available mip chain still define the possible allocation.
High-impact controls
Maximum Texture Size, LOD bias, LOD group, and compression setting
Mask opportunity
Pack compatible scalar maps into one material texture
Final authority
Cooked build and runtime texture-streaming statistics
Map the browser estimate to Unreal texture settings
Use the report to decide which assets need a lower maximum size, a normal-map or masks compression setting, shared packed channels, or more deliberate streaming behavior.
- Find the dominant maps. Sort by current memory and start with the textures responsible for most of the set.
- Apply role-specific compression. Treat normals, color, opacity, HDR content, and packed masks as different data.
- Validate pool residency. Profile the cooked build and representative camera paths to verify actual streaming-pool pressure.
Reduce Texture Memory in Unreal FAQ
Does the analyzer know which Unreal mips are resident?
No. It reports the complete possible chain and optimized format estimate. Runtime residency depends on streaming settings, view, pool pressure, and platform behavior.
Should Unreal normal maps use color compression?
Usually no. Use a normal-map compression setting so the engine treats the vector data appropriately and can select a suitable two-channel GPU format.
Are the GPU-memory numbers exact?
They are deterministic estimates from the texture dimensions, mip chain, channel layout, and selected GPU compression. Engine import settings, platform support, streaming, virtual texturing, alignment, and driver behavior can change the final resident memory.