I have an AI character moving to a NavLinkProxy when I jump to a higher level and it’s trying to follow me. This is great, but when the character reaches the NavLinkProxy, Event Receive Smart Link Reached is not firing. I’ve ticked Smart Link Is Relevant and copied over the Simple Link locations to the Smart Link Relative Start and Relative End, as was suggested [here][1].
I can’t run any logic to traverse the link if that event is not firing. Any help would be super appreciated.
As an update I did have the event fire once, but I was unable to replicate the behavior. So it seems it can work, I just don’t know how to get it do so reliably.
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.
So, here’s the deal: the nice, light green preview arrow you get on the actor is only for the simple link. If you’re using the smartlink, it’s a lie. If you try to use that preview, then you’ll override the smart link with a simple link, which won’t fire the event.
The solution is to ignore that light green arrow completely and just mess with the relative locations in the smart link settings until the nav mesh preview gives you a chunky, dark green arrow showing where the link has kicked in.
I guess I should submit a ticket to get the UI fixed so it’s not so misleading.
If you want to make sure that your AI is using the smart links, you better disable the simple link.
Otherwise they will try to navigate through the vertical wall instead of reaching the smart link and the event will never be fired.
Turns out as ncurtis suggested I need to adjust relative positions of my Smart Link a bit to get its own preview arrows correctly generated - just copy and paste from simple link doesn’t correctly generate the arrows. Also per JavierRamello, it’s helpful to disable simple link while adjusting smart link.
For anyone who may be wondering, what I did was: In the simple link there’s an array of point links, I just deleted it. It seems to work fine and gets rid of all issues related to the event not being called.