LCM Nav3D Free demo Get it on Fab

BT IsAtLocation - use the stock UE5 decorator

TL;DR: Unreal Engine already ships UBTDecorator_IsAtLocation. Use it directly on LCM Nav3D pawns. No LCM Nav3D-specific variant exists or is needed.

Why we didn't ship LCM_BTDecorator_IsAtLocation

This audit found that UBTDecorator_IsAtLocation already does what an LCM Nav3D-side variant would do:

This is the canonical "did the AI reach the location" predicate. Re-shipping it on the LCM Nav3D side would be redundant and force buyers to pick between two identical nodes.

Three-step usage on an LCM Nav3D pawn

  1. Drop the stock decorator on a Sequence / Selector node in your BT graph. Right-click → Add Decorator → "Is At Location".

  2. Set the blackboard key. Vector key (a goal position) or Object key (an AActor whose location is the goal - bUseNavAgentGoalLocation projects to nav-agent location). For LCM Nav3D flying pawns where you want the literal world position, use Vector.

  3. Set AcceptableRadius to your "we count this as arrived" distance in cm. Typical: 50-150 cm.

That's it. The decorator works on every LCM Nav3D pawn that has an AIController - no LCM Nav3D-specific configuration needed.

When to use the path-finding variant

UBTDecorator_IsAtLocation::bPathFindingBasedTest makes the decorator consistent with whatever was used to reach the location - useful when the move was via UBTTask_MoveTo (Recast) so the "arrived" check matches.

For LCM Nav3D moves, this option will fall through to Recast even if your goal was inside an LCM Nav3D volume - leave it OFF and use straight geometric distance until T37 NavSystem bridge lands. After T37, the stock bPathFindingBasedTest will route through LCM Nav3D automatically when the goal is in an LCM Nav3D-managed region.

For predicates that don't have a stock equivalent, see the LCM Nav3D-unique decorators we did ship:

These are genuinely additive surfaces; "IsAtLocation" is not - use stock.