Hi @aron_granberg, I mentioned this earlier in this thread.
The Unity dev that works on the Physics engine explicitly called out this practice (of calling SyncTransforms) as not being necessary in this Unity Forums post. From his comment in that thread:
You should never ever have to call this. The reason is because you should never change the Transform to change the pose of physics components. The only thing that moves in physics is the Rigidbody(2D). It’s that which writes to the Transform at the end of the simulation step. If you’re not simulating per-frame then this is why the Rigidbody(2D) provides interpolation.
If I’m not mistaken, AIBase is moving pathfinding agents using the attached Rigidbody/Rigidbody2D, correct? If so then you should easily be able to get rid of the calls to SyncTransforms in your code base. I’ve already tested out this theory; I was able to comment out the calls to Physics.SyncTransforms and Physics2D.SyncTransforms in Core/AI/AIBase.cs without any change to how AIPath moves my pathfinding agents on the graph (in my case GridGraphs).
Can we please get rid of the calls to SyncTransforms from AIBase? At the very least, could you please add a value that allows end users to toggle syncing of Transforms on/off during AIBase/OnUpdate? Thanks.