parallel 
Parallel node: ticks ALL children every planning cycle, regardless of intermediate results. Success and failure are determined by the configurable success_policy and failure_policy.
Intended use: run multiple independent branches simultaneously, e.g. action + locomotion
Vars | |
| failure_policy | BT_PARALLEL_FAILURE_CHILD_ONE: fail when child 1 fails (default). BT_PARALLEL_FAILURE_ANY: fail when any child fails. |
|---|---|
| finish_on_primary | If TRUE, when child 1 finishes (non-RUNNING), all children 2+ are cancelled and the parallel immediately returns child 1's result. |
| repeat_secondary | If TRUE, children 2+ that complete are reset and reticked |
| repeat_secondary_delay | Minimum delay before a repeat_secondary child can be re-ticked after completing. 0 = immediate (default). |
| secondary_ready_at | world.time values for when each secondary child is next allowed to tick. Null when no delays are active. |
| success_policy | BT_PARALLEL_SUCCESS_CHILD_ONE: succeed when child 1 succeeds (default). BT_PARALLEL_SUCCESS_ALL: succeed only when all children succeed. |
Var Details
failure_policy 
BT_PARALLEL_FAILURE_CHILD_ONE: fail when child 1 fails (default). BT_PARALLEL_FAILURE_ANY: fail when any child fails.
finish_on_primary 
If TRUE, when child 1 finishes (non-RUNNING), all children 2+ are cancelled and the parallel immediately returns child 1's result.
repeat_secondary 
If TRUE, children 2+ that complete are reset and reticked
repeat_secondary_delay 
Minimum delay before a repeat_secondary child can be re-ticked after completing. 0 = immediate (default).
secondary_ready_at 
world.time values for when each secondary child is next allowed to tick. Null when no delays are active.
success_policy 
BT_PARALLEL_SUCCESS_CHILD_ONE: succeed when child 1 succeeds (default). BT_PARALLEL_SUCCESS_ALL: succeed only when all children succeed.