Skeletal Animation Mobile


Working on a mobile game. Recently introduced skeletal animation to our characters and have seen drastic performance reductions. With Static meshes was seeing consistent 60fps on most mobile devices, however when we swap out the static meshes for skeletal meshes with animation we hover around 35fps on average.

Does anyone have tips for optimization of skeletal animation? All in we have about 10-15 Characters in a given level. Each one has a few animation states, only one material, around 4k polys and about 30 bones. Each Animated character seems to have about a 1.5ms cost, which we can not afford.

When profiling, “Update CPU SKIN” is what takes by far the most time, on the render thread (about 1.5ms per character).

We could certainly try to reduce the mesh, possibly reduce bones in rig. Is anyone aware of any tools that can help automate that? As I have tried using simplygon with no luck.

I have also read from other devs on the forums that even when they had used simplygon for Skeletal Mesh LODs it really did not help recover any frames/ms.

Any tips would be greatly appreciated. Thank you!