First it is importent to graphview works like text editor, it only purly contains node data which do nothing without runtime code, so you will need to create 2 parts, one runtime part that actully do things in game and 2nd graph editor part, but you can use any model you want, you just need to remember grpah editor it self is empty shell and node data which you can use to reconstruct some state from that ndoe data
Now there 0 documentation and whole thing is too complicated to describe it here, best way to learn is to take simpliest editor and try to mimic what is doing. most simplies example is sound cue and sound class editors. Graph editor is build in 2 parts, editor it self that opens when you open asset and graph widget, so those 2 parts are seperate places in engine source code, but oyu can hold it in one place in your plugin if you want.
Editor:
Graph (cpp files are in private directory):
First you need to learn how to make editor for asset, you need make class that extend FAssetEditorToolkit, in there you descibe widget contence of editor which will include the graph
Graph widget is reusable you extend it from base class UEdGraph and few other support classes. Most importent part of graph is Schema class, it descibes behavior of graph, creation of nodes, what can be connected to what and stuff like that.
You also need to create Node classes, remember that graph it self is descriptive, node class it self only decribes how node is structured graphicly, so you can make single node class which will adopt it self to something, for example Sound Cue has node classes that are seperate from editor and manipulate sound playback and they run in runtime and there one node class for editor only adapt itself to that sound cue node class which let you describe connections between them, SoundCue ndoe editor also have root node which is output node, it’s to related to sound cue nodes so it’s in sperate class.
In general practice if you want to use graph editor to manipulate some logical node network in gameplay you should use this model, make a node system for gameplay first (one that will work without referring to editor code) and then use graph editor and its nodes to manipulate it and use it to restore node network of gameplay nodes.
Can you tell what you want to use graph editor for? so i can give more tips. Sorry that you may not understand it >.< it very complex thing that it’s hard to describe in short and i also didn’t touch graph editors since more then half year. I really hope you have skills to deduce things from engine code since it really only way to learn it right now
AI graph is more customized graph, i didn’t seen it at all yet so you on your own here if you want to use it