But this option is deleted later than Unity 5, I guess.
Somebody said change setting acceleration value to higher, but it’s dosen’t work.
And I tried using “NavMeshAgent.updatePosition = false”.
Then enemy character stopped, but the NavMeshAgent component was keeping moving separate from parent Object(enemy character model).
So when I set “NavMeshAgent.updatePosition = true”, the enemy character warp to unintentional position.
Thank you! I’ve been searching for this solution for ages! One minor addition, NavMeshAgent.Stop() is now deprecated, and NavMeshAgent.isStopped = true should be used instead (the naming is horrible, it should only be a getter).
Additionally, if you want to restore the movement of the agent after pausing, store the velocity in a variable before setting it to Vector3.zero, and check for agent.isStopped == true before restoring it.
I found a better solution, just do
Agent.velocity = Agent.desiredVelocity;
in the update method. This will ignore aceleration and make the agent go to the target with no sliding or overshooting the target