How to reduce Texture Size for good?

After a day of research I did have success using LOD bias on large textures to reduce the cooked/packaged file size.

Changing the MaxTextureSize didnt seem to affect the cooking process and packed file size. It does however limit the texture size during runtime to save GPU resources.

Before my testing my project was 19.6GB. After reducing the LOD bias in my largest textures in my largest map, my project cooked down to 16GB.

Using Content Browser I filtered for large textures (In Use By Level, and Textures) and switching to columns view then ordering by dimensions. Then used the matrix editor to change the LOD bias for 78 8K textures and 474 4K textures from 0 (full resolution) to LOD bias 2 (Every increase in LOD bias reduces the texture scale by 1/2 which results in 1/4 the disk size). The cooker calculates the LOD bias, resizes the textures on the fly, and doesn’t include the textures LODs that are larger than the bias. The final packaged result was 16GB. I intent to do some more tree shaking, but this was just the first experiment. Some comments mentioned using texture groups to do this all in a more generalized way.

Info on LOD bias:
LOD bias 0 = full scale. 4k texture => 4k
LOD bias 1 = 1/2 texture scale and 1/4 disk size. 4k texture => 2k
LOD bias 2 = 1/4 texture scale and 1/16 disk size. 4k texture => 1k

@ClockworkOcean Im a bit confused by your comment because in the first thread below you commented that MaxTextureSize doesnt affect packaged disk size and say it’s still there in the background (which was very useful info when I read that, so thank you). I did end up getting rdTexTools but I havent used it yet on the textures I know resized.

Here are some useful threads I found while researching

  1. Does "Max Texture Size" also reduce package size?
  2. "Max texture size" or "LOD Bias" for downscaling textures in-game
  3. If I import a texture in unreal that is 4096x4096 but I set the max resolution to 512x512 the engine will pack the full texture in the build or the smaller one?
  4. https://www.reddit.com/r/unrealengine/comments/znmll9/quick_guide_to_optimizing_texture_sizes/
1 Like