[ BUG ] [ 4.4.1 ] NavLinkProxy as Child Actor smartlink bug

So I run into this problem while using NavLinkProxy:

I have an Actor blueprint that has a ChildActor and within linked a blueprint of NavLinkProxy like so:

if I’m using simple link within NavLinkProxy with properties like this:


Everything works fine and my actor can use the proxy, as you can see in [THIS][3] video.

However if I choose, to delete simple links and use SmartLinks:


My npc encounters a problem, like [THIS][5].

Note that this happens ONLY if you use NavLinkProxy as a ChildActor in another blueprint. If I simply place them on the level everything works fine.
I was hoping that by using NavLinkProxy as child actor’s I can construct more complex exploration blueprints, with the functionality provided by smart links, however this seems to be impossible now.

Hope this gets solved soon :slight_smile:

T

PS. I use a simple behTree to demonstrate the issue:


You can download the project with a repro [HERE][7]
“smartlink” map has an actor with only smart link activated (so you can see reproduce the bug yourself)
“smart_n_simple” map has an actor with both smart and simple links (simple links seems to work fine)

Hey Talanar, are you still having this problem?

Hi Jonathan, I believe I’m having this very problem. I’m looking into the code myself, and I believe the root of the problem is that UNavigationSystem::UpdateNavOctreeAll (and ::ClearNavOctreeAll) only update the components, not the attached actors.

Fixing that seems to be half the battle. It properly adds the new link whenever an actor with a nav link proxy child actor is moved. The other half is getting it to remove the original link, which I haven’t tracked down yet.

This issue is fixed internally (I can even run the “REPRO” level in Talanar’s post and the movement works correctly). We’ll push this fix out in a future update. Thanks for the report!

Hey Jonathan, can you link to the commit that fixes this?

I don’t have the exact commit, but it should be somewhere in this refactor by LukaszFurman.