NavMeshAgent rotates on the spot at its destination instead of stopping

As the subject title says, sometimes the NavMeshAgent reaches its destination, but then spins on the spot instead of stopping movement. I can presumably switch NavMeshAgent.updateRotation manually, but I don’t think I should have to, so hopefully there’s some other fix I can apply, without switching navigation off completely. Any ideas?

(There’s a similar question here - Navmeshagent Spins on the Spot when Close to Destination - Questions & Answers - Unity Discussions - but it mentions the stopping distance, and I’ve confirmed that increasing that seems to have no effect.)

This will be to do with rigidbody settings, and your agent settings. Tweak them starting with angular based values until they stop sliding about. You might need a friction physics material applied to surfaces.

1 Like

I had the same problem and realised that rootmotion animator was causing it.

3 Likes

What solved the problem for me was to enable the IsKinematic attribute.

2 Likes

I had a similar problem, I solved it by setting the quality to low, probably that’s because with high quality the agent behaves like strictly and if misses the precise target point remakes the path.

if somebody will looking for it in 2024, just disable in RigidBody “Automatic Center of Mass”

I still have the same problem and nothing of the solutions mentioned above solves it (I don’t have a rigidbody attached to the GameObject and I don’t use animations at all). Can someone please help me? :frowning: