Why won't my AI use the Nav Link Proxy?

I’ve posted this in the forums with no response:

Basically, my AI is setup to follow the player. It works as expected but will not use the Nav Link Proxy to follow off of a ledge, like in the Nav Mesh Content Example map. I’ve done some debugging, and it looks like the AI is pathing correctly just not moving to those path points.

Please see my videos in the forum post for examples.

Like you say, AI is pathing correctly and it just has issues following the path. The issues come from the bit containing the link being raised up a bit, which makes me think this is the culprit here. Try modifying AI character movement component’s MaxStepHeight and WalkableFloorAngle.

Cheers,

–mieszko

I will look into this when I get home, but I have also tried with just a flat ledge with no success. Anything else I should look into?

Yeah, my AI Step Height and Floor Angle numbers are correct. And I even set them high to see if that did anything and that did not.

This seems to be an issue with constantly updating the AI destination. I am using an AI task to constantly tell the AI to move to my player pawn. This is because I do not want to set a location and tell it to move there as that location will be old. But, by doing this, Nav Links seem to not work. If I put in a delay of 0.3 in my task right before the Finish node, it mostly works. The AI still bumps around a little bit but at least it follow the Nav Link.

Any idea why this is happening?

That’s your bug right there then :slight_smile:

First of all, the reason your approach fails is that when AI reached the navigation link and it starts to follow it it’s being constantly told to start over, and navigation links are a special case here - AI can’t start from the middle of the link so it goes to the start of the link every time.

Having said that, you don’t need to repeatedly request AI to move. As a matter of fact it’s highly undesired. But all you need to do to have AI follow player, with just one call, is to indicate the player as move goal actor. AI will observe the move goal and if it moves away from the end of the path the path will be updated.

If you’re using AI Move To there used to be a bug that wasn’t triggering the move properly so moving to actors didn’t work as I described. I has been fixed in one of 4.7 hotfixes I believe.

OK, I’ll try that. I wasn’t aware that Nav Links had this special case, but it makes sense now.

Thanks for the help!

Hey, did you find a fix?

Well, to use the nav link proxy you need first make simple link can copy those end point to the smart link, do’nt forget to turn on “Smart link is relevant” & “Link Enabled”. Then you just have to handle your “AI MOVE TO” to stop triggering every single time. You can achieve this by making a nav link proxy bp and using the “Event Receive smart link reached” and change the value of a bool that can be used in your Behavior tree for the move sequence to be stopped till you complete the proxy nav.


The nav link proxy BP


Handling the Move to event


In the details panel you can check the Simple link & smart link settings

I am experiencing an extension of these issues. Unless I delete the RecastNavmesh and rebuild again, my AI will not use the smart nav links. If I keep the RecastNavmesh and keep rebuilding paths, AI stops using nav links and simply gets stuck in doorframes trying to get through… My logic is sound, with a fresh RecastNavmesh, things work perfectly. What gives?