Copyright © 2026 Unity Technologies
Fixed agent and obstacle collision behavior. What was happening was that as soon as the agent came into contact with the obstacle, the collision solver would operate on the agent position to prevent overlap between the agent and the obstacle. The solver did this by pushing or offsetting the agent a certain distance from the midpoint of the obstacle itself or the midpoint of the nearest segment / slab of the obstacle. As the agent is pushed further and further away from this point, the magnitude of that vector increases, which causes the agent to appear to be accelerating "around" the obstacle. Now, the agent is no longer pushed from midpoint of obstacle segment/slab and instead push away from closest contact point with the obstacle (eg vector between agent pos and closest obstacle point is perpendicular to the segment) and pushes the agent "out" until it is no longer overlapping.
This Unity version will no longer be receiving patch updates.
This Unity version will no longer be receiving patch updates.
Steps to reproduce:
Expected results: The agent is blocked by the non-carved obstacle, does not find a path, and moves at regular speed
Actual results: The agent is blocked by the non-carved obstacle, does not find a path, and moves at an increased speed along the side of the obstacle
Reproducible with: (1.1.0-pre.1) 2020.3.41f1, 2021.3.11f1, 2022.1.20f1, 2022.2.0b12, 2023.1.0a15
Reproduced on: Windows 10
Issues you vote on will appear here