I have a project and there are tons of 4K textures, and the whole project is now 60G large.
Is there any plugins that can resize the texture in UE4? I don’t want to export each texture and do it in Photoshop.
This one does it
Whats the difference between this and batch editing via property matrix and setting max taxture size ?
Setting the MaxTextureSize keeps the original resolution on disk, but uses the size you set as the max in-game. When you package your game, the Max Size is what is packaged.
Resizing using a texture tool such as rdTexTools actually resizes the texture on disk as well - more useful to keep the size of the project down - when you’re using source control the commit times can be dramatically reduced.
It would be nice if there was a packaging setting to enable the cooking process to resize the textures to the MaxTextureSize for packaging on the fly. I dont want to permanently change my texture and lose data/precision, but I dont want full texture sizes in the packaged project.
This is exactly what @RecourseDesign said above
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
- Does "Max Texture Size" also reduce package size?
- "Max texture size" or "LOD Bias" for downscaling textures in-game
- 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?
- https://www.reddit.com/r/unrealengine/comments/znmll9/quick_guide_to_optimizing_texture_sizes/
Actually, to be fair, I’ve forgotten which is which. I think LODbias changes the package size, but also max size.