MoveToLocation returns success on partial paths

If I attempt to use MoveToLocation to move to a location on the navmesh that is currently blocked off using a NavModifierVolume, then it will return success but only return a partial path. The character will then move up to the blockage and stop and broadcast a ReceiveMoveComplete also with success.

In blueprints at least, there doesn’t appear to be any way to determine that the initial request returned a partial. And when the movement is complete, there’s no way to ask the nav component if it is at the destination. You can do a distance check with the cylinder, but it would be better to use the same rules the nav component uses to determine it has reached its goal.

It seems like a better approach would be to return a “partial” result from MoveToLocation.

What is the recommended way to handle this currently?

Which UE4 version are we talking about?

This is with 4.5.1. I haven’t been able to update to 4.6 due to this other bug.

Was MoveToLocation fixed in 4.6?

The core problem here is that we treat partial paths as successful pathfinding effort. The rest is just the results of it :slight_smile: We’re looking into improving it, and you’re right, returning “Partial” as one of possible pathfinding/movement results would sure help.

Thanks for the feedback!

Cheers,

–mieszko

This is an old post, but I’m running into this problem in 4.11, where AI MoveTo is returning Success even though it has no path to its destination and is just standing there not moving.

I can’t see how under any circumstance this is desirable behavior. If we issue an AI MoveTo command, and there is no path to the destination, AI MoveTo should absolutely fail. Otherwise, we need to resort to distance checks, which feels like a workaround to a bug.

this still seems to happen in 4.21 on the move to location or actor node. a partial path return would be incredible helpful. is this possible?