LCM Nav3D Free demo Get it on Fab

BT TurnInPlace - use stock UBTTask_RotateToFaceBBEntry + UBTService_DefaultFocus

TL;DR: Same stock task as LookAt. Combine with DefaultFocus service for "keep facing while doing other tasks" patterns.

Pattern: simple turn

Use UBTTask_RotateToFaceBBEntry exactly as in BT_LookAt_StockPattern.md. The task completes when the agent has rotated to face the BB key.

Pattern: continuous facing during other tasks

If you want the agent to keep facing a target while executing other tasks in a parent sequence:

  1. Add UBTService_DefaultFocus to the parent Selector or Sequence.
  2. Set the focus BB key (Vector or Object).
  3. The AIController's focus stays set for the entire subtree - pawn faces the target via SetFocus while other tasks execute.

This is the canonical UE5 pattern for "shoot while strafing" combat AI. No LCM Nav3D-specific variant needed.

Why no LCM_BTTask_TurnInPlace

Stock UBTTask_RotateToFaceBBEntry + UBTService_DefaultFocus covers the entire use case. The LCM Nav3D StateTree FLcmSTTask_TurnInPlace exists because StateTree v0.1 doesn't have the equivalent stock task; on BT side it's redundant.

Constant-rate turn (the original spec)

If you specifically need constant angular velocity (not stock's interp-with-acceleration), wrap a small BP-only task: read pawn rotation, target rotation, apply MaxRotationRate * DeltaTime step toward target. ~10 BP nodes. Or use the StateTree variant which supports this directly.

For the typical "snap-look-at-threat" pattern that AAA combat AI uses, stock is the right answer.