My question may be appropriate or inappropriate depending on whether the base assumptions are correct or incorrect and i apologize sincerely if this question comes from a root misunderstanding of how unreal engine works. The question relates to when to not use wrap/clamp.
My base assumption is that from what i have heard shared wrap and shared clamp create a per material atlas texture made up of all the textures in that material set to shared wrap/clamp to reduce texture samples.
My second assumption is that a texture file that is used across multiple materials is loaded into memory only once.
To discuss the question, lets imagine a material with 10 texture samples that is designed to be used across multiple objects. 6 of these texture samples form a shared base used across multiple objects , and the other 4 form a set of unique per object masks to define per object dirt grime edge wear etc.
Now to the questions.
When creating material instances, is a new shared wrap atlas created per material instance?
If so, does that mean that the 6 base textures are being duplicated inside multiple atlases , each of which is using memory and thus defeating the point of using the base textures across multiple materials to save memory?
If not, that is to say the shared wrap pool is created per material and instances share that single atlas , does that mean that i should not set the unique textures to shared wrap because eventually over instances it will exceed the 128 sample limit on shared wrap?
Is the root of the question incorrect on a basic level and there is no memory benefit to using shared base textures and it is just a saving on disc space?