FuzzyBrain replaces hand-written if/else chains and boilerplate state machines with a clean, prioritised list of Acts — each one guarded by reusable Condition assets. Drop an Actor component onto any GameObject, open the FuzzyBrain Window, and wire behaviours directly to UnityEvents. No base classes. No code required for the baseline setup.
How it works Each Actor holds a ScriptableActivityList — an ordered stack of Acts. Every tick the system walks the list and fires the first Act whose Conditions all pass (FSM mode), or every matching Act (FuSM mode). Acts are sorted automatically by specificity: more conditions means higher priority, so the most precise behaviour always wins without manual ordering.
Key features
- Data-driven from the ground up — Conditions and Acts are ScriptableObject assets reusable across any number of actors and scenes
- FSM and FuSM modes — exclusive states or layered multi-system reactions from the same condition set
- Nine built-in 2D conditions covering ground detection, wall detection, falling, idle, cooldowns, and randomisation
- Zero-allocation evaluation — ActContext caches component lookups and deduplicates condition results per tick
- IGizmoDrawable — spatial conditions draw their query volumes in the Scene view, colour-coded green/red at runtime
- Act cooldowns and idle detection built in — wire them without writing a single line of code
- Optional FuzzyBrainManager batches evaluations across staggered time buckets for large NPC crowds
- Full editor toolset: FuzzyBrain Window, Act Wizard, Condition Wizard, Quick Condition Generator, and Project Settings page
- Extend with custom conditions by subclassing Condition<T> — the component is resolved from a cache, never via GetComponent in the hot path
More info on the webpage:
https://fuzzybrain.page.gd/