So the doc [ Unity - Manual: Creating models for optimal performance ] and lots of old posts suggest bone count matters, especially for mobile.
I’m honestly struggling to understand why it should matter, at least on the order of hundreds of bones vs the advice to “keep the number below thirty for mobile devices, and don’t go too far above thirty for desktop games”
I believe there is a per vertex cost proportional to the number of bone weights (1, 2 or 4), and the cost to walk the transform hierarchy and make matrices in object (or world) space for each of the bones on the CPU should be insignificant (right?)
Engines supporting GPU skinning (via vertex shader) on DX 9 or GLES 2, and storing the bone matrices in uniforms would be limited by the number of uniforms supported, but everything I can find suggests Unity only supports software skinning on such targets, and I don’t think that fits the advice.
So why does bone count matter? Am I missing something?*
*In before someone suggests the question is wrong because it suggests I haven’t benchmarked Unity’s performance myself: No, I haven’t and that’s not helpful (!): whether Unity performs well or badly wth a high number of bones doesn’t speak to whether it should, or why the documentation (and many threads) suggest bone count should matter.