Open World AI Optimisation

What is the best way to optimise hundreds of AI? I have a fairly basic AI blueprint with behaviour tree and AI Perception set up. When I add more than a hundred instances performance begins to slow down quite a bit as expected. I removed the tick event from them and changed everything to run from timelines that fire every .3 of a second which made a big difference but my frame rate drops from 140 to 40 when I have over a hundred of them spawned.

The open world kite demo shows optimised AI deer that can run over 300 instances smoothly. My final goal is to have a similar very large open world full of thousands of AI that spawn within a certain radius of the player.

What steps can I take to optimise even further?

In my case instead of tick, Im using Timers and triggers, to decided what event needs to be always updated or whst event needs to be updated when the player is inside the trigger…

I already have that kind of system set up but frame rate still drops dramatically with more than a hundred. I am guessing it has something to do with the movement component because if I remove all animations and have them all stood still frame rate goes back up but as soon as they all start to move again it drops to 40 fps.

I missed this talk https://twitter.com/nuclai/status/623111422835339264
I watched only the last 10min , if you found it it can help you

Looks useful but I couldn’t find it anywhere :frowning: