how do you speed up skinned mesh?

In my tests URP is much faster than built in forward at normal meshes but I can’t see any speed up at skinned meshes
I read that SRP batching doesn’t work for those so the normal ways to trigger batching doesn’t apply (same shader)
Is there a way to speed up skinned meshes in URP?

Depending on the particular case, I can think of two ways. First, if you have lots of the same skinned mesh with the same material, you can try animation instancing (GitHub - Unity-Technologies/Animation-Instancing: This technique is designed to instance Characters(SkinnedMeshRender).). The other way is more limited, requires specific setup, but can be useful in certain cases. You can replace skeletal animation with vertex animation textures. This way you have regular MeshRenderers and all animation is done in the shader, so SRP batching and GPU instancing are available.

2 Likes

Thanks, I’m looking into it.

Hi Laurent,

Did the above work for you?

Vertex animation texture works in theory, I mean that’s how they animated 10k+ characters in 2008 :wink: There is one asset I was using called MeshAnimator which works in very narrow use but it’s so buggy that I ended up not using it…

I did not try the linked github and won’t be touching this for another 3 week so hopefully you’ll take a crack at it.

1 Like

Hi, I have same problem but I use built-in renderer. what do you think i should do? Is it easy to convert animations to textures?