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:
- Add
UBTService_DefaultFocusto the parent Selector or Sequence. - Set the focus BB key (Vector or Object).
- The AIController's focus stays set for the entire subtree - pawn
faces the target via
SetFocuswhile 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.