NavLink - exposed BP functionality for LINKS (Smart and Simple)

Hello and thanks for reading! Today me and a cohort from Discord put our heads together to come up with a best practice method for using the NavLinkProxy - converting it to an actor in order to utilize the EventReceivedSmartLinkReached() node - which allows a sort of Trigger Volume functionality to cast to any class once this point has been reached.

Now - with the current implementation of 4.14.3 (Source Build) - the NavLinkProxy when converted to an actor blueprint, and uses the NavLinkProxyComponent… has no exposed variables/child components for any of its properties… which would be REALLY helpful in order to get/set the Simple/Smart link handles that you drag out in the 3d world.

Currently - you have to drag the Simple handles (the only ones available to setup the link) to where you want them to be. Then you have to set TRUE the bSmartLinkRelevant in order for the event node to be triggered. Once this is done, you THEN have to take the SimpleLink Start & End locations, and manually copy/paste these values to the SmartLink Relative Start/End locations in the details panel (NOT INSIDE THE BLUEPRINT) in order for the handles to be in the right location - otherwise this event will never trigger because it is never reached.

SOLUTION/REQUEST:
Expose the following component for editing on construct/runtime: SmartLinkComp()::SmartLink()::LinkRelativeStart(Vector3) & LinkRelativeEnd(Vector3)

         OR

Dynamically link the SmartLink()::LinkRelativeStart() & LinkRelativeEnd() to the SimpleLink()::LinkRelativeStart() & LinkRelativeEnd() via binding.

Thanks for the great software suite! Long live Unreal Engine 4!

+1 to this, seriously needed feature request - would save many, many hours!

FWIW - Here is a great solution to AUTO CALCULATE a custom jump for any distance/height within your project… VERY SIMPLE IMPLEMENTATION:

INSIDE NAVLINKPROXY BLUEPRINT ACTOR:
b74937f296c117dab1cc591edde3c06f97dac799.jpeg

INSIDE ANY CHARACTER THAT WOULD IMPLEMENT (CAN BE RUN FROM BPI AS WELL - PROBABLY A MORE DYNAMIC SOLUTION):

walldiv,

Have you had the issue of Event Receive Smart Link Reached not firing? I ticked Smart Link Is Relevant and set Link Relative Start and Link Relative End locations to match the Simple Link locations, but that event still isn’t firing when my AI character moves to the start of the link. The AI is aware of the link, but I can’t run any additional logic to traverse the link if that event doesn’t fire.

Thanks for any help you can provide.

Got this working by setting link direction to a single direction (Right to Left using the proxy in the picture to get the AI to jump up) instead of both.

Yes this would be very much appreciated. It would greatly speed up the workflow compared to the current way.

+1, also need this feature

+1, need this one desperately.

+1, also need this!

The SmartlinkComp in the the NavLinkProxy is set to private so you can’t even pull the the data you need in an inherited class which is annoying!

2 Likes

+1 expose as many vars as possible to BP plz.

please can you explain more how to do it. because i im using unreal BPs. any way i can manage in C++ with your help. thank you

+1 this would be really good to have in BP, thanks.

Is anyone working on this?

1 Like

I need this.