Behavior Designer Pro 3 - DOTS Powered Behavior Trees

About Behavior Designer Pro 3 - DOTS Powered Behavior Trees – Unity Editor Tool & Plugin

Behavior Designer Pro 3 - DOTS Powered Behavior Trees Unity Asset Overview

In my experience building complex AI systems in Unity, traditional MonoBehavior-based behavior trees hit a hard performance ceiling once unit counts scale past a few hundred. Standard node graph implementations generate heavy Garbage Collector (GC) allocations, cause CPU cache misses due to pointer-chasing across class instances, and lock evaluation to the main thread.

Behavior Designer Pro 3 fundamentally changes this paradigm by combining a flexible visual editor interface with Unity's Data-Oriented Technology Stack (DOTS). Instead of executing tree logic through classic class inheritance structures, this framework compiles your visual graphs directly into highly optimized Burst-compiled C# Jobs operating on Entities ComponentData.

Architecture-wise, the asset offers a hybrid model. Developers can evaluate tasks using standard GameObjects or transform the tree into native IComponentData structs that run on thread pools. Here is the key takeaway: it gives game designers the intuitive drag-and-drop workflow they expect, while granting technical architects the cache locality and multithreaded performance necessary for high-density simulations.

Core Technical Features & Highlights

Having stress-tested this iteration across large scene hierarchies, a few architectural capabilities stand out from a pure software engineering perspective:

Ideal Use Cases & Game Genres

While lightweight puzzle games might not need this level of data-oriented infrastructure, specific genres benefit enormously from replacing legacy AI systems with this tool:

Massive RTS & Strategy Titles

Handling pathfinding decisions, target prioritization, and combat logic for thousands of individual soldiers simultaneously without frame-rate hitches. The Burst integration keeps CPU frame times flat even during large-scale battles.

Open World & City Crowd Simulation

Populating massive urban areas or ambient wilderness scenes with hundreds of non-player characters (NPCs). Ambient behaviors like wandering, dynamic obstacle avoidance, and day-night schedules run entirely in parallel jobs.

3D Horde & Survivor Action Games

Managing swarms of enemies that require basic pathfinding, attack cooldown checks, and line-of-sight triggers. By reducing tree evaluation costs to fractions of a millisecond, frame budgets can be spent on visual effects and physics interactions instead.

Quick-Start Unity Setup & Integration Guide

Integrating Behavior Designer Pro 3 into a modern DOTS workflow requires configuring proper package dependencies and writing struct-based task nodes. Here is a practical walkthrough to get up and running.

Step 1: Package Dependencies Setup

Ensure your project contains the necessary DOTS packages via the Unity Package Manager before installing the asset package:

Step 2: Writing a Custom DOTS Action Task

To run tasks within the Burst compiler, custom nodes must inherit from the native task structs provided by the asset framework. Below is a practical C# example of a Burst-compatible movement task evaluating target distances using Unity.Mathematics:

using Unity.Entities;
using Unity.Burst;
using Unity.Mathematics;
using Opsive.BehaviorDesigner.Runtime.DOTS;

[BurstCompile]
public struct MoveToTargetTask : IBehaviorTask
{
    public float3 TargetPosition;
    public float MoveSpeed;
    public float StoppingDistance;

    public TaskStatus OnUpdate(ref BehaviorData data, float deltaTime)
    {
        // Calculate distance on the job thread without managed overhead
        float3 currentPos = data.LocalTransform.ValueRO.Position;
        float distanceSq = math.distancesq(currentPos, TargetPosition);

        if (distanceSq <= StoppingDistance * StoppingDistance)
        {
            return TaskStatus.Success;
        }

        // Interpolate position safely using Burst math
        float3 direction = math.normalize(TargetPosition - currentPos);
        data.LocalTransform.ValueRW.Position += direction * MoveSpeed * deltaTime;

        return TaskStatus.Running;
    }
}

Step 3: Component Baking and Scene Setup

Attach the BehaviorTreeAuthoring script to your character prefab. Open the graph editor window via Tools > Behavior Designer > Editor, build your node flow, and assign the graph reference to the authoring component. During build processing or runtime instantiation, Unity's Baker pipeline automatically converts this data into dynamic ECS entity components.

Pros & Cons Assessment

Honestly, no tool fits every single scenario perfectly. Here is my pragmatic evaluation of where this solution shines and where you need to be careful:

Asset Details & Specifications

CategoryTools / Visual Scripting
Latest Versionv3.3.3 (5 tracked releases)
File Size90.23 MB
Added to PlatformMay 5, 2026
Views30 views
Downloads10 downloads
Favourites4 favourites
Official StoreBuy Original License on Unity Asset Store →
Issue with Package?Report Broken Link →

Developers Who Downloaded This Also Downloaded

Related Unity Tools Assets