Most efficient way to use many textures

Atlases are somewhat useless in ue4, you would basically be loading the entire texture map while it only uses a small portion of it. Since 1 mesh + 1 material = one draw-call there is no real need to use an atlas.

You can find more gains by combining metal/AO/Roughness together in the RG and B channel separately and using it as one texture non s-rgb and hook up the right channel to the right input. (specular is rather useless in ue4 unless you use ores like diamonds)

generally speaking you often only need albedo, roughness, normal map, a mask for metal, and you can opt for AO. but there is obviously room for artistic expression.

Hello, so I have been baking textures for many static meshes in blender for my game, right now there are around 30 textures( normal, diffuse, AO,…) and much more to come. I was thinking of making a few 4096x4096 texture sheets where I’ll have the textures for all the different static meshes next to each other in a grid, put them in a single master material, then attach parameters to metallic, specular, simple grass wind and other things so I can modify each model separately in a material instance, so a material instance for each static mesh. I’m posting here to see if the more knowledgeable and experienced people here know if this is the most efficient way to approach this or if there are better ways. Thank you for reading!

Agreed, I was gonna make a “Masks” texture for the atlas to house the AO,spec and roughness. So what you say is that it would be better to have a material for each mesh and continue with the masks texture idea I had when starting out right?