NavMesh - Jump Points

Blueprint project:

How do you set jump points on a Nav Mesh so a bot knows it can do a jump to link to another part of the nav mesh?

I found the doc on the NavLinkProxy, but it looks incomplete.

In Blueprint how do I go about extending it so my bot will jump up the ledge, not just fail.

I have the jumping in, and can call it as a function. But I was using a trigger box and it’s not integrated with the path finding.

I extended the NavLinkProxy in a Blueprint. What events come with this?

If there was a trigger when the bot first started I could cast the actor that caused the trigger and then call it’s jump function using the other point link as a destination.

Is that possible in Blueprints with this, or do I need to add this functionality via C++? Right now I’ve been trying to do a Blueprint only project.

chirp, chirp… hear crickets

Hi ,

Sorry for the delay in response.

The code behind Nav Link Proxy merely tells the AI that the beginning point is connected to the end point. It is essentially just a bridge. Our AI programmers are working on a Jump Point actor for AI, so they will know where they are able to jump to.

I was looking into this more and found that it does allow for some basic events. It also has SmartLinkReached, EndPlay and OnDestroy events. You could use those perhaps to determine if you are in a “jumpable” area.

What we do for our games is have the characters do traces or have shape components to detect when overlap stops occurring at certain points. I would suggest doing something like those until the jump linker is done. Let me know if you have any questions.

Thank you,

I was hoping some things could be exposed on the Nav Link, like when the Actor got to it, and the locations of the links. That way, extending the blueprint could do custom actions.

What I ended up doing is putting the Nav Link as seen in the above picture, and then adding a trigger. The NavLink will get the bot to come to the area, then the trigger can kick off the event, but it’s a 1 off right now and feels hacky.

Being able to do this without having to add the trigger, and have some exposed variables like the location of the other links, and knowing which link your bot activate would make it really easy to put in custom animation/movement to travel between the points.

If you will do this using C++ then here is good guide:

I looked into this more and it would appear that you would need to go into code to achieve that right now. It sounds like the trigger system that you are using may be the way to go. From :

It’s currently not supported out of
the box and would require some C++
coding. You can however implement a
kind of jumping behavior with navlinks
and triggers. Navigation links tells
AI “you can traverse this segment”, so
if you place a link between two
platforms AI will find a path as
expected. You just need to take care
of the jumping part, and you can
“fake” it by placing a trigger on the
link start that will make AI move to
the other end.

Making “AI move” could be done in
couple of ways: you can simply
teleport your AI, matinee-animate him,
or set his physics to Flying and just
let him continue (should work, but I
haven’t tried it ). If using the
flying option don’t forget to turn
Walking back on once “jump” is done

Thanks, that link is a great resource.

So far I have tried to keep the project Blueprint only. If I need to go to C++ for this 1 feature it will effect the whole project. Also, it will mean that, “No, you can not actually make a complete game in blueprint only”.

It would be better if they exposed the variables so the Nav Link could be extended.

Thanks, I hadn’t seen that link, looks like I was all ready doing the same thing. I’ll have to think about how important jumping is if I want to move the project to have C++ as well as blueprints.

Has there been any movement on the “Jump Point actor” you mentioned in this post since last year? :slight_smile:

I am currently following 's tutorials, but I would appreciate it if I didn’t have to go and extend it to make proper jumping, instead of flying!

It was decided that the way it should work is that you would make a blueprint with a geometric shape to overlap, then that overlap would trigger the jumping event. So you will want to take a look at Miesko’s explanation from the forum post above.

Shortly after this original post I extended the NavLinkProxy in C++ and have had jumping in the game since.

Here is a link showing video of the result. Video UE4 Jumping Nav

Is there a solution out of the box now?

Hey ! Where have explained how to do this in blueprint? Sorry, I can’t see it. The link with a tutorial he posted seems to be down.