Easy to use, comprehensive Behavior Tree (BT) library built from the ground up for C# programmers:
=> Quick-start guide || Unity quick-start guide || API reference || FAQ
Active Logic seamlessly integrates with C#:
class Duelist : UTask{
float health = 100;
Transform threat;
// BT selectors and sequences via || and &&
override public status Step()
=> Attack()
|| Defend()
|| Retreat();
// Conditionals without 'conditional nodes'
status Attack() => (threat && health > 25) ?
Engage(threat) && Cooldown(1.0f)?[ Strike(threat) ]
: fail(log && $"No threat, or low hp ({health})");
status Defend() => ...;
// ...
}
Active logic is the first BT library providing tight integration with the host language (no DSL, no builder pattern, no lambdas or coroutines, no blackboard). This means better performance (low/no GC), cleaner syntax and the freedom to structure your code as you wish.
Engine/platform agnostic:
dotnet add package ActiveLogic
(via NuGet)Unity 3D:
From source: no dependencies.