Which says “When enabled, strips unused mipmaps at build time.”
Fair enough. Sounds good, but what is an unused mip? An actual unused mip is a mip that never shows in my game, because the camera never goes far enough from it, which isn’t something that Unity can know at build time. So what are the criteria?
Huh?
Quality Settings…
Does anyone even use that any more?
So in my case, where I only have one Quality level with Full Res, enabling mip stripping, would effectively kill mips for all textures?
I don’t think that’s what the documentation tries to convey. I believe it works like this…
Lets assume the texture in question is 1024x1024.
If you set “Texture Quality = Full Res”, Mip Stripping will not remove anything and that texture stays at 1024x1024.
If you set “Texture Quality = Half Res”, Mip Stripping will get rid of mip 0 only. That is the 1024 mip, so the 1024x1024 texture becomes 512x512 instead.
If you set “Texture Quality = Quarter Res”, Mip Stripping will get rid of mip 0 (1024) and mip 1 (512). So the 1024x1024 texture becomes 256x256 instead.
If you set “Texture Quality = Eights Res”, Mip Stripping will get rid of mip 0 (1024), mip 1 (512) and mip2 (256). So the 1024x1024 texture becomes 128x128 instead.
Hi @AcidArrow , thanks for your feedback. And thank you @Peter77 for the brilliant explanation.
Texture MipMap Stripping uses the Texture Quality level on the active Quality Levels for your target platforms to remove Mips from the builds. For projects where you may want full resolution textures on one platform but lower resolution textures on another, this setting ensures that the lower resolution platform does not have those mips that will never be used in the build. As Peter says, this should reduce the download size and disk space for that lower resolution platform.
Yes, it should have the same effect as doing that, but without having to manually change all of the settings. Clamping the max size in the Texture Importer reduces the size before the mips are generated, whereas this setting will strip unused mips at build time.