Ordo
A prototype for a Node based editor inside of Unity.
The current implementation is a StateMachine. The core code is decoupled from potential new modules, BehaviourTree, DialogTree etc.
Custom Editor window, custom inspector to control drawing of nodes and their properties.
Decoupling of all Editor code from Runtime code.
Runtime code is slim, using Scriptableobject for ease of serialisation, and reuse of assets.
Works great with standard Unity Monobehaviours by hooking into existing methods such as OnEnable and OnDisable. No editing of existing Monobehaviours required!
Graphs are instantiated at runtime by their agents, so graphs can be reused amongst multiple GameObjects.
Changes fields on Monobehaviours using custom classes attached to nodes, this is done through reflection in the editor. At runtime, references to components are cached for performance.