t1k:unity:dots-ai:bdp-tactical-pack
| Field | Value |
|---|---|
| Module | dots-ai |
| Version | 2.1.7 |
| Effort | high |
| Tools | — |
Keywords: AI behavior, BDP, tactical
How to invoke
Section titled “How to invoke”/t1k:unity:dots-ai:bdp-tactical-packBehavior Designer Pro — Tactical Pack
Section titled “Behavior Designer Pro — Tactical Pack”Reference for the BDP Tactical Pack add-on — 9 group combat AI tasks (BDP 3.0.2 install) using Unity NavMesh and formation groups. Covers task catalog, required interfaces, shared settings, and DOTS ECS integration patterns.
Related skills:
behavior-designer-pro(ECS task patterns) ·agents-navigation(NavMesh bridge) ·dots-rpg(combat systems) Related agents:dots-implementer
Namespace
Section titled “Namespace”using Opsive.BehaviorDesigner.AddOns.TacticalPack.Runtime.Tasks;Required Interfaces
Section titled “Required Interfaces”To use Tactical Pack tasks, implement both interfaces on the authoring MonoBehaviour (BDP bridges to ECS via entity baking).
Namespace: Opsive.BehaviorDesigner.AddOns.TacticalPack.Runtime (not the .Tasks sub-namespace).
public interface IAttackAgent{ float MinAttackDistance { get; } float MaxAttackDistance { get; } float AttackAngleThreshold { get; } void RotateTowards(Vector3 direction); void Attack(Transform targetTransform, IDamageable targetDamageable);}
public interface IDamageable{ bool IsAlive { get; } void Damage(float amount);}DOTS gotcha: For ECS mode, IAttackAgent.Attack() and IDamageable.Damage() must bridge to ECS by writing DamageEvent to the entity’s buffer or scheduling an ECB command — they cannot directly mutate ECS component data from MonoBehaviour context.
Task Catalog
Section titled “Task Catalog”→ See references/task-catalog.md for all 9 tasks with parameters and behavior.
BDP 3.0.2 note: Hold, Marching Fire, Request Reinforcements, and Reinforcements Response are NOT present in the BDP 3.0.2 TacticalPack install. The installed task count is 9.
Quick reference:
| Category | Tasks |
|---|---|
| Offensive | Attack, Charge, Flank, Ambush, Shoot and Scoot, Leapfrog, Surround |
| Defensive | Defend |
| Withdrawal | Retreat |
Shared Settings (FormationsBase)
Section titled “Shared Settings (FormationsBase)”All 9 tasks inherit from FormationsBase. Settings are shared with the Formations Pack.
→ See references/shared-settings.md for full parameter list.
Critical settings at a glance:
| Setting | Purpose |
|---|---|
FormationGroupID | Group membership — same ID = coordinated unit |
Is2D | Enable for XZ-plane (top-down/side-view) formations |
ForceLeader | Designate a specific agent as group leader |
AttackDelay | None / Arrival / GroupArrival — when to trigger attack |
Targets | Target list passed to the task |
→ See references/dots-integration-guide.md for the full DOTS integration pattern — file structure, data flow, and FormationGroupData component.
Key Gotchas
Section titled “Key Gotchas”-
Tasks operate on groups, not individuals —
FormationGroupIDis mandatory. Missing GroupID = each unit acts independently, defeating tactical coordination. -
MonoBehaviour movement by default — Tactical tasks call
NavMeshAgentdirectly. For DOTS, write toNavigationTargetinstead; bridge viaAgentNavigationBridgeSystem. -
IAttackAgent/IDamageableon authoring MB — Both interfaces on the MonoBehaviour withBehaviorTree. Implement as ECS bridges (write to ECB / DamageEvent buffer), not direct data mutation. -
Shared base with Formations Pack — Same
FormationGroupIDlinks tactical and formation tasks on the same entity. Do not duplicate group state. -
AttackDelay = GroupArrival— Waits for ALL group members before any attacks. RequiresFormationGroupIDon every participating entity, or delay never resolves. -
ForceLeader+FailOnAgentRemoval— If leader dies, entire group task fails. SetUpdateUnitLocationsOnAgentRemoval = truefor resilient groups.
Reference Files
Section titled “Reference Files”| File | Contents |
|---|---|
| task-catalog.md | All 9 tasks — description, NavMesh behavior, key params |
| shared-settings.md | Full FormationsBase settings reference |
| dots-integration-guide.md | DOTS ECS wrapper pattern, data flow, FormationGroupData |
| api_reference.md | Full API reference for Tactical Pack classes and methods |