Bind match-owned values to Graph variables so spawning, encounters, multiplayer authority, or another gameplay system can provide group IDs and targets without mutating running task instances.

Common group settings

  • Is 2D changes group calculation for a 2D space.
  • Formation Group ID separates independent tactical units.
  • Force Leader makes one member the leader.
  • Formation Direction uses leader Transform direction, movement direction, or a specified vector.
  • Specified Direction sets the forward vector when Formation Direction is Specified.
  • Move To Initial Formation is inherited from the formation base; built-in tactical tasks disable that initial assembly stage.
  • Fail On Agent Removal fails when a member leaves.
  • Update Unit Locations On Agent Removal recalculates remaining assignments.

Movement stability

  • Rotation Speed and Rotation Threshold belong to initial formation alignment. Attack facing uses the combat implementation’s IAttackAgent.RotateTowards and AttackAngleThreshold.
  • Out Of Range Distance Delta, In Range Distance Delta, Out Of Range Speed Multiplier, and Stuck Duration are inherited settings. Built-in tactical tasks disable the corresponding catch-up and stuck detection, so changing these values does not recover lagging or stalled members.
  • Stop On Task End stops the selected pathfinder when the task finishes.

Configure movement speed and recovery in the pathfinder or surrounding tree. For example, a timeout can abort a stalled maneuver and enter a recovery branch.

Drive a maneuver at runtime

  1. Spawn or enable members and assign one group ID to all of them.
  2. Enable Force Leader for exactly one member.
  3. Write current attack targets into the variable bound to Targets.
  4. Start the same maneuver branch on participating members.
  5. When targets or maneuver change, abort current tasks, update shared data, and enter the replacement branch.
  6. Stop the tactical task before disabling or pooling a member.

A GameObject target remains live as it moves because the task reads its Transform. Replacing the target list, changing leadership, or reusing the group ID for another squad is a coordination change; stop and restart the maneuver so registration and slots rebuild consistently.

Handle removal and pooling

Enable Update Unit Locations On Agent Removal when survivors should close gaps. Use Fail On Agent Removal when losing a required role should abort to a recovery branch.

Do not disable or pool an agent while its running task is still registered. Stop the task first, then return the object to the pool.

Access variables from code

Use Accessing Variables to read or write Graph variables from a MonoBehaviour. The Behavior Designer Pro API documents the runtime tree component.

Keep authoritative target selection and damage in the game system, especially in multiplayer. Tactical tasks should consume accepted data and call the configured combat bridge.