Hello,
Our game features a fair bit of simple customization by players: i.e. on almost any object they can pick simple changes like different texture options, applying various tints to those based on masks, etc. Currently it is implemented with a few shaders that combine the choices based on alpha channel masks and vertex colors.
We have been looking at Substances, and they would be great for the huge flexibility, not to mention so much better for downloading. However, I am wondering about performance, mainly from a memory point of view. The worst case, which would probably be the typical case, would be everyone has slightly different customization options on each of their objects (each player could have many objects out for others to see), so every object would have a unique texture. So rather than all N instances of a certain object using 1-3 texture possibilities (tinted differently, etc), there would be N different textures. Does that imply many more materials/surfaces/draw calls, or would it amount to the same anyway?
Any guidance here is appreciated.