I often get asked if we use Behavior Trees for the birds in Forever Pets. The answer is no, and here's why:
1. Constrained parallelism. BTs offer only limited parallel execution. Most implementations (for example, Unreal Engine's Parallel node) require one child to be a single task node. Real people and animals do lots of things on overlapping timelines. The body of Aria below in the video has more than a dozen things going on at any given moment (root, head, eyes, tail, breathing and so forth).
2. Low reusability. Trees and animations are tightly coupled: you end up reinventing behavior branches for each new creature instead of sharing generic logic across species.
3. Poor scalability and performance. As you add actions or richer environments, tree size (and its CPU footprint) grows exponentially. In a VR game with dozens of pets, that quickly becomes unsustainable.
4. High production overhead. Every tree demands dedicated behavior designers, animators and engineers to craft and maintain bespoke nodes, leading to heavy people-costs.
Let me know if you found this useful and I'll long-tweet more about BTs and the alternative we've developed (Behavior Composition).
PS: Do you like Aria's red hat? That's the exclusive reward we've added for our alpha players. Join the alpha to claim it, link in first reply!