Currently, agents will repeatedly look for a path until one is found, every frame. This can be very bad if lots of agents can't find a path to their respective targets.
Some easy things to try are:
- Limit the number of nodes that are explored - give up after some limit.
- Add a "priority accumulator" - only find paths for the top N agents, and when an agent fails to find a path, have their priority be significantly reduced.
- Compute regions for the nav mesh and skip paths for nodes in different regions.
Currently, agents will repeatedly look for a path until one is found, every frame. This can be very bad if lots of agents can't find a path to their respective targets.
Some easy things to try are: