I am trying to find a way to reduce my draw calls.
Here is the situatio: I instantiate a lot of objects, but not a lot of different objects. So the point is that a lot of objects share the same material. Unfortunately, each object is using 1 draw, which, at the end, means a lot of draw calls.
I would be very glad if someone can find a solution like a maguc code, or a trick like instantiate in a game object and combine the materials…
Reducing draw calls are big challenge for almost every indie game developer but by using this simple and free plugin by pudyjo you can reduce massive numbers of draw calls its amazing and free.
you can see this tutorial he reduce big numbers draw calls- TUTORIAL
Sharing materials saves the overhead of having to store the same texture more than once, in case multiple objects use the same one, but, as I’m sure you’ve noticed, it does not necessarily reduce the draw calls.
To do that, notice that you can combine meshes using the method CombineMeshes, see here:
In general, it’s a good idea to do this for all objects that share the same material, and which do not need to move independently. It enables the engine to render them all with a single draw call rather than one call per object, and thus accomplishes what you want - a reduction to draw calls.
For more in depth information on this, see this question, which deals with the same problem:
If you use NGUI and You want to use NGUI Atlas on 3D meshes you can get Atlas3D plugin for NGUI. Check the video and tutoraial at: Atlas3D Toolkit tutorial
If you use low poly meshes (not more than 300 vertices) you can get 1 drawcall with many dynamic meshes. Additionally script helps with converting Unity lightmapping and you still get 1 drawcall when using lightmapping on those dynamic meshes. Just like static batching on Unity Pro but you have dynamic meshes free to move and ready for occlusion.