Search Issue Tracker
Won't Fix
Votes
1
Found in
2017.4.0f1
2018.3.0a1
2018.3.3f1
2019.1.0a1
2019.2.0a1
Issue ID
1122030
Regression
No
Nav Mesh Agent's Speed increases past the Speed set when traveling down a slope and having a direct path to the Target
How to reproduce:
1. Open the user-submitted project ("bug-navagent-slope-speed.zip")
2. Open the "SampleScene" and enter Play Mode
3. Observe the Console Window as the Nav Mesh Agent travels down the Slope
Expected result: The Nav Mesh Agent's speed is at around ~3.5 units
Actual result: The Nav Mesh Agent's speed increases to around ~4.3 units when the Agent's target is in the direct path to the slope
Reproduced in: 2019.2.0a3, 2019.1.0b2, 2018.3.4f1, 2017.4.19f1
Note: Moving the target slightly to the left or right of the slope, to make it into an indirect path, reduces the Speed back to its expected value.
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
- Crash on mono_dump_native_crash_info when changing a Particle System Renderer’s Material Shader to Standard Unlit
- VFX Prefab doesn’t have Preview icon in Project window and Preview window is empty in Inspector window
- “RenderSettings customReflection texture has invalid type” error keeps getting thrown even when Environment Reflections was set back to Skybox from Custom with an invalid texture
- Particle System with the custom Material breaks the Scene view when the material is using a Shader Graph with the Texture with the power of negative value
- Invalid asset path & Invalid value for font MissingAssetReference Warnings are spammed when deleting a Font used by any Element in UI Builder
Resolution Note:
The problem occurs when the line segment connecting the agent's current position and the next path corner is at a large height difference from the NavMesh at the position where the agent will move next. The agent's desired velocity vector is computed along the exact direction towards the next corner. Even though that velocity vector is limited in size correctly by the _speed_ parameter chosen by the user, its magnitude changes when the vector projects onto the NavMesh during the actual movement, thus producing a different actual speed of the agent.
No solution will be provided for this behavior due to a planned reorganization of the code in that area.
One way to possibly avoid this issue is to detect when the preconditions happen and break the movement operation into smaller sections that target intermediate points towards the next corner.