This graph editor allows you to skip the editor work and create a Node Graph that is customizable. The tool that uses Unity's Experimental GraphView.
Visul Graph Features
Extensible
Scriptable Assets that can be used at rumtime through custom behaviour
Minimap.
Search window.
Blackboard that supports most types.
Usage
VisualGraph generates a starting point for you to create your custom graph
To start create a script that extends VisualGraphNode. This is either the basic node for your graph or a base node your graph will use.
You can add the following attributes: [NodeName()] [NodePortAggregate()] [PortCapacity()] [CustomNodeStyle()]
You can create more node scripts that extend your base node
Next create a script that extends VisualGraph, add [CreateAssetMenu] and [DefaultNodeType(typeof(YOURBASENODE_YOU_JUST_CREATED))]
Generate your graph
It is recommended to extend the VisualGraphMonoBehaviour<T> to create a MonoBehaviour to use in your game
The VisualGraphMonoBehaviour<T> will create an internal copy of the graph so it does not change the actual ScriptableObject data (at runtime and in the editor)
Once you have created your VisualGraphMonoBehaviour<T> script add this to a game object. Access the graph by using InternalGraph
From there you can navigate your graph in your node scripts.
You can also add Blackboard properties to your graph, if you have added the graph to you MonoBehaviour it will make a copy of the properties
Properties can be overriden and set which are used at runtime
There are refresh issues with the properties in the inspector (working on this)
Examples
Basic Example Graph
FSM Example
Bugs
Inspector does not refresh when blackboard properties change (new, delete, or update)