When calling NavigateTO from NPC Spawner using Agent as the target and the NPC is already inside the target radius, it will take a long time to stop running it, causing the NPC to remain stopped until the player reached a far distance from it.
Steps to Reproduce
Place a NPC Spawner in the world, reference to a Verse Device.
Loop a function calling NavigateTo and passing the Agent (Player) (with a Sleep(0.0) after each run)
Once the NPC reaches the player, try to move away and the NPC will take a long time to start moving towards the player again
Expected Result
When calling NavigateTo and the NPC is already inside the radius, stop the function imediatelly
Observed Result
NPC will stand still until the player reaches certain distance from it after finishing the previous NavigateTo and start a new one from the loop
We removed the ?ReachRadius on all our NavigateTo() calls. Something with that parameter is blowing up the NavigateTo where it never returns, leaving it stuck inside the loop but never continues execution. So the NPC just remains frozen. Its random though when it breaks, but easy enough to reproduce.
When you remove the ReachRadius from the navigation, you will need to monitor your distance to the target and end navigation when reached. In order to do this, you will need to spawn{} off your NavigateTo because its not async (which I thought it was before the update??)
After spawning the NavigateTo(), you can loop and monitor the distance to target. This approach has fixed all our npc movements.
Awesome! Thanks for jumping on this so quickly. Internally we are trying to priorize some tasks for a launch we have this week. Any idea if we can anticipate a fix in the next few days? If not, no prob we’ll pursue a work around.