Path following optimizations (around double perf), also a bunch of instrumentation and a benchmark setup:
- only string pull the beginning of the path, we will string pull again eventually so not need to run the algo for the whole path (steering agents only)
- only re-string pull the current path if we moved past a threshold or passed a path corner, not every frame (steering agents only)
- when chasing a moving target, instead of recalculating a new path, try to extend the previous path a bit instead to save time
- use unity transform SetPositionAndRotation instead of setting both independantly
- fuse some native method calls, so that we only call one method and skip the interop cost for the other call
- do not check corridor validity if no tile has changed since pathing