Units move in opposite direction at first?

If my object just went to the left and then I tell them to go to the right, they go a little bit to the left first. Same thing for the other direction. It feels like they’re trying to spin around or something but that doesn’t make sense because I’ve disabled rotation in RichAI.

In this video I’m using a click to move where the mouse click assigns a destination to RichAI and then I’m flipping my sprite based on RichAI.velocity.x > 0.1f = FaceRight() and RichAI.velocity.x < 0.1f = FaceLeft() but sometimes even when moving in a straight line the velocity will freak out for a frame and the object will flip in the opposite direction for a frame or two.

I can probably up my threshold for the second issue but the main question is: how do I make my objects immediately move in the direction I assign without moving in the opposite direction first?

Video example: https://cln.sh/ojizkp

Update: apparently, RichAI.velocity continues to spit out the last known velocity until a new input is given. Ex: even when my unit reaches its destination (which is being checked by RichAI.reachedDestination) if I print out RichAI.velocity on update it’s still spitting out a non-zero value every frame. I’m guessing what’s happening is the next time it receives an update to it’s destination and starts moving again there is a frame or two where it feels the effects of the opposite velocity before updating itself?

I tried updating RichAI.destination to be transform.position when RichAI.reachedDestination == true but that doesn’t change anything and the non-zero velocity continues to crank out every frame.

Bump. Any idea why this is happening?