Behavior Tree
The minion’s loop runs on a Behavior Tree. The plugin ships
BT_Extract_Resource (with blackboard BB_Extract_Resource), wired to call the
Gatherer Component functions
in the right order. You assign the tree per order in the
Assignment Definitions
data asset, so different orders can run different trees.
The gather loop
Section titled “The gather loop”BT_Extract_Resource walks the minion through one full trip:
- Set the home location so the minion knows where to haul resources back to.
- Find the nearest matching resource within the search radius that the minion can navigate to.
- Move to that resource.
- Try to extract it, then wait for the timed harvest to finish.
- Spawn the carried resource and attach it to the minion’s hand socket.
- Move home.
- Drop the carried resource so it settles on the pile.
Then the tree loops and the minion goes back for the next one.
The tasks
Section titled “The tasks”Each step maps to an included task and a Gatherer Component function:
| Task | Calls | Purpose |
|---|---|---|
BTT_Set_Home_Location | sets the home | Records where harvested resources are hauled. |
BTT_Find_Resource_Location | Try Find Closest Resource Actor | Picks the nearest reachable matching resource. |
BTT_Try_Extract | Try Begin Extracting Overlapping Actor | Starts the timed harvest and waits for it to complete. |
BTT_Try_Spawn_Extracted_Resource | Try Spawn Extracted Resource And Attach To Character | Puts the carried resource in the minion’s hand. |
BTT_Drop_Extracted_Resource | Detach Extracted Resource From Character | Drops the resource onto the home pile. |

Customizing it
Section titled “Customizing it”You have two ways to change behavior:
- Edit the tree.
BT_Extract_Resourceis an ordinary Behavior Tree; add decorators, services, or extra branches (idle animations, patrols, reactions) around the existing tasks. - Swap the tree per order. Because each assignment names its own Assignment Behavior Tree, you can write a completely different tree for a given order and point that entry at it.
Either way, the Gatherer Component exposes every step as a callable function, so your custom tasks can reuse the same building blocks the included tree does.