What's the best way to create a customized flow graph in Unity at now?

Here i have summarized the graph eidtor api and some tools, I hope you guys leave your comments and help me out of my trouble(like a swampland…)

First of all, let me describe the key features that i want to implement in graph editor:

  • A customized unity asset could be edited and saved by the customized graph editor; Graph editor have many customized nodes, including one node can link(contain) another customized unity asset(This helps me build a hierarchy structure of the graph, when i double click that node, the linked asset could be opened in other graph editor interface).
  • At runtime, when game is running, I hope graph editor support a feature that i can popup a small panel on each node and show it’s running state such as ACTIVATED/FINISHED state.At meantime, i hope it show up a flow path from begin node to current running node(This helps me to understand the state of all the nodes and its history flow path, just like UnrealEngine Blueprint).
  • I could create one or more customized panel dock to the graph editor, such as a hierarchy outliner;
  • I could customize the node’s logic/apperence/connnection rules/properties.

Here, I have found some api:

Here, I have found some tools:

I want to create my customized graph editor for my game company used, so i want it to be stable, flexible and greate scalable, I have done it in Unreal Engine before(produced by imitating the principles of blueprints), Now I turn to do it in Unity again.

For those api and tools, I’m confused, I hope you could give me some advice on those questions and propose a stable useful technical route that i can impelment my customized graph editor. Thank you guys, leave you comments.

Hi there,

Experimental.GraphView is a visual element for graph grids that you see in a lot of editor windows (ex: Shader Graph Code search results · GitHub).
But it’s marked as experimental and might change in the future.

I don’t think what you are looking for currently exists at the moment. There are several potential solutions mentioned but everything has limitations:

  • VisualScripting (Bolt) has it own graph solution but in my opinion is engineered and complex, it has a lot of weird bug and limitations that Unity probably won’t fixed. It can still be used to check how they do work with the editor window.

  • NodeGraphProcessor uses Experimental.GraphView and is not maintained anymore but I think it can be used for you;

  • NewGraph is a new library that does not rely on Experimental.GraphView and is still maintained and is probably a good fit for you too.

  • UI Node Connect 4: I don’t know about this one

The GraphTools Foundation package is the new way to do it and is maintained by Unity (https://docs.unity3d.com/Packages/com.unity.graphtools.foundation@0.11/manual/index.html). It will likely become the official solution for graphs.
Graph Tool Foundation page-2#post-8098055
Graph Tools Foundation? [ com.unity.graphtools.foundation ]
So it’s probably a good idea to take a look at that.

Unity UI Toolkit is the general solution for UI, so if you want to build something from scratch you can start there.

1 Like

Here are you talking abut visual scripting?

Such like that( but more like customized dialogue editor, state machine editor) I want to build a customized graph editor to accelate game asset creation(e.g. Narrative / Animation)

Thanks for your lovely reply. For your link here, i will not use GraphView(deprecated), and i gone to see GTF and UI toolkit. At same time, tools like NodeGraphProcessor which use GraphView API will also become meaningless(NewGraph may be a good start).
By the way, do you know how is it going about GTF, when will it be released not as experimental?