Performance tips on complex Anim BPs?

Hello folks,
we were toying with the idea of using procedural animations for our RTS. As of right now we use fairly simple characters (about 16 bones, 1000 verts per character) and we load up an animation for each state for each character (attacking, idle, running). We’re pretty happy with the performances, reaching 60fps with no issues on a mid-range machine with 200+ units on screen at the same time.

We were thinking about toying with procedural animations like creating generic running animations or poses and blending them together at real time. We still wanna avoid IK as much as possible as we know it will be a huge performance sink with hundreds of units on screen at the same time.

We wanted to know if anybody here had any tips for us when it comes to having a lot of skeletal meshes on screen at the same time… wether we should avoid this completely or it’s something that has very little performance cost compared to loading up a single animation.

I´m not really sure, but I really think that a complex animation will not hit the perfomance comparing to a single animation.

To get a better perfomance, in general, you can check this tips that I know

If your meshes, foliages etc are already low poly it helps a lot.

You can change the scalability settings in the editor, customize them to get the better graphic/perfomance you want.

Using the World Composition to your landscapes levels.

Study about level streaming, see tutorial here: UE4 Level Streaming | A Blueprint Tutorial by Devin Sherry - YouTube

Uses culling to all your meshes and folliages (You can find it under LOD settings of the actor in your lvl, change the Max distance, you can see this feature working under play or “GameView”

Reduces the textures resolution.

Try to use static shadows, it takes a while to build, but it has better perfomance than movable shadows. If you need to use movable shadows, than take a look at cascaded shadows to improve perfomance.

Try not to use too much post processing features, like DephOfField.

Always has a LightmassImportanceVolume and PrecomputedVisibilityVolume

Keep trying and trying. Good luck!

Regards, Filipe

Thanks Filipe, really appreciate the answer although I’ve been making games long enough and to a level where I’m familiar with all the things you mentioned :slight_smile:

I was more looking into tips from people who had a deeper understanding of the performance implications of the animation system.