I’m trying to use NavLinkProxy to create navigation links that can be enabled/disabled (for doors, breakable walls, etc.).
If I set up a Smart Link (assigning NavArea_Null as disabled area) it works only partially. When enabled it permits AI to traverse the link. When I disable it the link is still traversable.
Examining the c++ side i noticed that the link is not actually removed from the navigation system, but rather it is assigned the largest possible cost (i.e. BIG_NUMBER). This “disables” the link if there is another way to the destination with a llower cost. However, if the smart link is the only way to the destination, the AI controller uses it anyway.
I’m using SimpleMoveToLocation function to make the AI move. Engine version 4.6.
I’m able to obtain the correct behaviour with a simple link if I implement my own c++ actor, but this requires the NavMesh to be dynamic. Smart Links should work even if the NavMesh is static, right?.
Is this how Smart Links are supposed to be used, or am I missing something?