Download

Frustrated with materials required storage

So I been playing around with different marketplace assets and I noticed the average 4K material takes 200MB or more.
This is frustrating because I add a 3-4 props that barely have any impact in the game and that’s another gigabyte required.
This is obviously for an indie/solo project, assuming I release it some day, I can’t afford ending with something that require the same storage that RDR2.

A few questions I’d like to ask you guys:

  • Should I point to 1440p textures instead?
  • Is it safe to just downsize the textures, is there any special technique for it?
  • Any other tip for saving more space?

I’m not considering compression once packaged, not sure what’s the impact, anyways, if it’s not a storage problem it certainly is for RAM/VRAM usage.

Thanks in advance for any input.

Construct your props out of multiple more generic tiling layered materials instead of one massive asset-specific one. This was how Epic did it for Paragon and allows you to use lower resolution textures more efficiently because they’ll be reused frequently and expected to tile. At most you’ll likely have to store a per-object normal map and a set of masks, both of which you can get by with fairly low resolutions.

A: ALWAYS NO MATTER WHAT Keep your textures in a power of 2(Except in edge case scenarios, ex: color palette/voxelart), you probably want to put it low as possible to the point you cant tell the difference, and scale lower in settings. Ex: Color and normal can be 4K, but AO can be 1K or even 512
B: Yes, 100% safe, and actually encouraged.
C: Apply A (The biggest gain), Go into project settings, rendering, scroll to the bottom, disable anything you dont need in shader permutation reduction, disabling anything in mobile shader permutation reduction doesnt change anything if its pc only, but very useful in mobile (I recommend automatically replacing lights with decals on mobile, clone the material below). Also, add switches in your master material to switch off certain maps, if ao/roughness/etc can be replaced with a param, also, use master materials to save a tiny bit.