Hi trying to improve my batching so been messing around with it and i’m more confused than ever now. Ok so i made 1 material to use on a house. The house has 15 parts doors,wall, floor etc i used this one material and texture on them all yet it did not batch a single thing!!?. Why would it not batch them they are exactly the same???
Ok so if i duplicate the house then it starts batching so is there no way to batch within a object if that object has all the same materials?
I’m confused
Dynamic Batching
Unity can automatically batch moving objects into the same draw call if they share the same material and fulfill other criteria. Dynamic batching is done automatically and does not require any additional effort on your side.
Tips:
Batching dynamic objects has certain overhead per vertex, so batching is applied only to meshes containing less than 900 vertex attributes in total.
If your shader is using Vertex Position, Normal and single UV, then you can batch up to 300 verts; whereas if your shader is using Vertex Position, Normal, UV0, UV1 and Tangent, then only 180 verts.
Please note: attribute count limit might be changed in future
Generally, objects should be using the same transform scale.
The exception is non-uniform scaled objects; if several objects all have different non-uniform scale then they can still be batched.
Using different material instances - even if they are essentially the same - will make objects not batched together.
Objects with lightmaps have additional renderer parameter: lightmap index and offset/scale into the lightmap. So generally dynamic lightmapped objects should point to exactly the same lightmap location to be batched.
Multi-pass shaders will break batching. Almost all unity shaders supports several lights in forward rendering, effectively doing additional pass for them. The draw calls for “additional per-pixel lights” will not be batched.
Objects that receive real-time shadows will not be batched.
On unity free . Are the same scale they are part of a single object eg window doors etc for a house. Marked as static but i don’t think unity free gets the static batching.
I have built a house it uses the exact same material and texture for everything a thatch texture (except wood beams) . Now when i duplicate 50 times etc there are no draw call reductions due to batching why wont it batch? using unity free so not trying to static batch… Whats the point of using the exact same mats textures when it does nothing id rather make each house unique in this case !!