I optimized mesh and materials. When add to characters that have not skinned mesh renderer to scene, system batch them and draw one time all characters. If I add characters that have skinned mesh renderer to scene, system rendering one by one.
Even if I add 10 characters to scene, fps descrease 20-25fps on mobile (60hz). Model and material have been optimized.
I know skinned mesh renderer does not batching. The part I don’t understand is how does many game work with skinned mesh?
I want to ask briefly, can I render many same characters that have skinned mesh renderer at once?
tl dr; Games with many characters use other technology for skinned mesh batching. Also they use LODs for far zoom states. Unity doesn’t support batched skinned mesh renderers.
Unity doesn’t support batched skinned mesh renderers. It’s because each mesh is different due to the vertex positions being at different locations while animating. If you do some research, there are techniques out there people have experimented in order to allow this, but they seemed quite technical when I looked into them.
Depending on your character’s construction, you might be able to leverage something like GPU instancing. This supports dynamic objects but not skinned meshes. So if your character was a robot, and you could split it up into pieces and parent those to the bones, you could instance each piece which could be more performant in the long run if you wanted to have 1000 units.