Finite Graph Machine by DarrenTsung - 4


C# class with nodes / node delegates and a Unity editor that serializes all of that

Unknown VersionMIT LicenseUpdated 3 years agoCreated on July 9th, 2016
Go to source


My attempt at building a finite state machine in Unity3D, inspired by the Animator. Not 100% feature complete.

Editor Screenshot

I stopped working on it because even though making logical state machines with the animator is full of landmines and potential problems, the animator gives you 90% of functionality that you need without the context switching cost of having two similar, yet different systems.

Demo scene is included.


  • Complete separation of logic and editor
  • Full test-suite
  • Nodes, Transitions
  • Supports multiple active nodes

Planned Advantages Over Animator

  • Better node querying system (ex. GetComponentsInChildren() equivalent for sub-state machines)
  • No animation concepts as point of failures (ex. Transition Duration)
  • Instantaneous transitions


  • Must import Unity Test Tools from the asset store into your project
Show all projects by DarrenTsung