NavLink stuck

Hey guys! Got seriously stuck with something. I have some characters controlled by CrowdAIController. I want them to do specific actions, when they want to pass specific territory. For example : there is a door. I want a character to come to it, open it and go through, if the destination it tries to reach is behind it. I can’t just use hitboxes to check if there is character near the door, because they can actually walk near without passing it and so on. I tried to implement NavLinkProxy and, mostly, NavLinkCustomComponent, but it’s really hard to understand, because all the stuff it gives from the box doesn’t explained by epics and doesn’t work as intended. Also all youtube videos just show how to make super simple ones, but i want to make an actor, which have all this navigation stuff inside (for example ship). If anybody had worked with it, have some code or just any information to share would be nice.

So I guess I ended my exciting journey in UE with navlinks, so I decided to write some things I came up to about it, so maybe someone will use this information (or not).

  1. Use NavLinkProxies instead of SmartLinks (SmartLinkCustomComponents). You’ll probably need the Obstacle thing for creating some action during path (like the door opening and so on) and you’ll probably need its PesumePathFollowing(…) function (like 99,999%). Also, the Obstacle thing doesn’t have Rotation offset, so if you’ll need to rotate it, just rotate the proxy actor.
  2. If you need your proxy update during the game (it change location because of attachment or smth like that) and it doesn’t seem to move - GetSmartLinkComp()->RefreshNavigationModifiers(); to tick.
  3. If you spawn it via code -
    bSmartLinkIsRelevant = true;
    SetSmartLinkEnabled(true);
    GetSmartLinkComp()->SetNavigationRelevancy(true); to make it actually relevant.
  4. Before spawning it in actor, spend some time to play with it location to make sure all stuff looks as intended.

I’ll write if I’ll find anything important looking, hope this will help at least someone and really hope Epics will improve this and other navigation stuff.