Search Issue Tracker
Fixed in 6000.0.46f1
Fixed in 6000.0.X, 6000.1.X, 6000.2.X, 6000.2.0a8
Votes
0
Found in
2021.3.11f1
2022.2.0b12
2022.3.55f1
2023.1.0a15
6000.0.32f1
6000.1.0a9
6000.2.0a1
Issue ID
UUM-58165
Regression
No
Agent accelerates if blocked by a stationary, non-carved obstacle
Steps to reproduce:
- Open attached project "AreaTestingAINavigation.zip" and scene "2DScene"
- Enter Play Mode
- In Game View, select an Agent by left-clicking the top-most red circle
- In Game View, right-click to a spot above the long wall obstacle
- Observe the Agent's movement
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
Add comment
All about bugs
View bugs we have successfully reproduced, and vote for the bugs you want to see fixed most urgently.
Latest issues
- Out-of-bounds memory access with multiple CanvasRenderers under a Canvas when using Mesh API
- Inspector tries to access file after it was deleted when the file was locked in Inspector window
- Changing Transform values in Search window Inspector loses focus while dragging and stopping mouse without releasing dragging action
- Saving changes on the dirty VFX Graph during the Play mode throws "The referenced script (Unknown) on this Behaviour is missing!" warnings
- VFX Graph Debug Info overlaps the "Initialize" block debug info by default
Resolution Note (fix version 6000.2):
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.