So I have a project where I will look orginise too many object. Those objects are similar to eachoter but different meshes and textures.
Imagine a supermarket where you have bunch of snaks. When you take a general look they all have the same shape more or less. You need to see them all the time and they are not static you can pick them up look an put it back.
So that raises a problem in my head. How can I reuse most of my materials by only changing it’s textures.
I’m not a graphics programmer so for give me if I say something noob.
Here is what I tought.
Enable Material instancing. I know that enabling material instancing is good if I have multible copies of same mesh and same material but in my case my meshes are slightly different and materials have different textures.
Dynamic Batching. I know I can batch dynamic objects but there are too many limitations. My models are lower then 900 verts but I haven’t decided on a shader yet. I’m thinking about Uber shader but dynamic batching limits me interms of shader choice and vertex coun’t I’m not sure using standart or Uber shader would force me to lower my vert couse I can’t go lower poly than I already am.
The last but not the least is the 2DTextureArray and MaterialProperityBlock. I think this is the best way to go in my stuation but there aren’t so many tuts or documantation about it. As far as I understand it’s easy to use in c# but I’m afraid if I crash a wall while using this I may not be understand what’s wrong since there aren’t much reasources out there that explains how this method works.
I want to know what you are thinking what would you do if you had the same stuation.