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 you 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.

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.