BT HealthBelow - use the stock blackboard + decorator pattern
TL;DR: Unreal Engine ships everything you need: a Float blackboard key + a Blackboard-Compare decorator. No LCM Nav3D variant.
Pattern
- In your Blackboard asset: add a Float key
CurrentHealth. - In your AI controller / game code: write
CurrentHealthwhenever damage is applied. - In your BT graph: add a
Blackboarddecorator to the "retreat" / "panic" sequence. Set:- Key:
CurrentHealth - Notify Observer: On Value Change (so the decorator re-evaluates immediately on damage)
- Operator:
Is Less Than - Value:
30.0(or whatever threshold)
- Key:
That's the canonical UE5 way of doing "if health below X, do Y."
If you want a GameplayTag-based pattern
For projects using GAS where health states are tags (e.g.
Status.Bleeding, Status.LowHealth), use the
stock UBTDecorator_CheckGameplayTagsOnActor. Same
semantics, tag-driven.
Why we didn't
ship LCM_BTDecorator_HealthBelow
The stock blackboard-compare decorator covers the exact same
functionality with one extra dropdown (the comparison operator) - which
actually gives the buyer more flexibility
(> < <= >= ==) than a fixed "below threshold"
LCM Nav3D decorator. The audit classified this as a partial overlap; the
buyer-experience answer is to lean on stock.
The LCM Nav3D StateTree variant
FLcmSTCondition_HealthBelow is kept for ergonomic parity
(named clearly in the StateTree node picker), but its underlying
behaviour is also "float compare" - stock-equivalent.
Related LCM Nav3D-unique decorators
If your "should I retreat" gate isn't health-based but threat-field-based, the LCM Nav3D-unique surface gives you better options:
LCM_BTDecorator_IsInCover- composite SweepPenalty + LOS predicateLCM_BTService_ThreatFieldSampler- writesCurrentThreatLevel+bInThreatZoneinto BB every 0.2s; then a stock blackboard decorator can gate onbInThreatZone