Massive Intelligent Crowd optimization?

Hello everyone.

I’m currently working on my AIs for my game, and while testing performance I hit a wall… Basically my game is a theme park builder, and I would need to have at least 1000 AI pawns/characters on screen with another 9000 hidden while still executing their logic (state tree).

My issue is that just having a few hundred AIs on screen kills performance, I’m unable to reach beyond 500 without going under 10fps.

Now, I have tested multiple ways to optimize the AIs on screen, I have turned off any overlap, optimized the movement component, collisions and I even have a plugin to handle distanced-based update rate, but it doesn’t help that much.

I also did research based on the profiler results I got, and it seems like the issue comes mainly from the character movement component, unfortunately I haven’t found a good way to replace it.

I also know about MASS, but from my understanding, MASS is still heavily hidden behind C++ and doesn’t work with the nav mesh.

So there I am, stuck with this issue, I would really need help with that.

Thanks.