Performance issues caused by dozens of Seekers in a large Layered Grid Graph

My involves dozens of characters (currently 40, needs to be minimum 100 in the final game) who each follow a daily routine that takes them around a large, multi-level environment. I am currently using a 201x266 layered grid graph, with a node size of 0.5.

My game’s framerate is abysmal. When I use the profiler to try and see what’s going on, I can see that the primary culprit is the AIPath script: http://imgur.com/gW2SlG3.png

Here are the attributes of the Seekers: http://imgur.com/cHt7vzw.png

Here are some of the attributes of the graph: http://imgur.com/ZgjZkfK.png (I suspect that there are other attributes that would be more valuable to share, but I am not sure what they are.)

I’d like to know what kind of choices I could make to improve my game’s performance. I’ve already experimented with switching to AILerp, but I did not observe a significant increase in framerate (or any change, actually) which makes me very curious what my other options could be.

Unfortunately, I’m confined to using version 3.7.4 of the plugin because I’m not able to upgrade the project to Unity 5 at this point in time.

I have spent a significant amount of time tweaking the layered grid graph and seekers, but I have had no luck in improving my game’s performance, and so I’m down to my last resort, which is to come here and bug you for help.

Is the only solution to do something drastic like switch the type of graphic I’m using, or is there a much more simple solution that could resolve my issues?

Hi

Yeah, AIPath is not high performance enough to be used by that many characters I think. AILerp should be faster, not sure why you did not see that change. Though… 0.5 ms per character as I can see in the profiler looks awfully slow, are you running this on mobile or something?

If the profiler shows AIPath, that does not include anything in the pathfinding system, so you can ignore that for now.
If the characters have a very large number of children transforms (e.g skinned mesh bones), then it might take a long time just to set the position and rotation of the character.

You can use Deep Profile to get more detailed profiling results.
Also, when you profile the game, make sure that ‘Show Graphs’ is disabled since drawing the gizmos for graphs is pretty slow.