Hi, everyone! I’m a professional game developer, but new to Unity.
I want to implement a node editor similar to Visual Scripting. Which framework should I base it on?
I initially considered copying Visual Scripting’s implementation since my desired functionality is very close to it (e.g., live editing). However, its UI framework doesn’t seem as clean as UI Toolkit. I also noticed another framework for graph editing called UnityEditor.Experimental.GraphView, so now I’m unsure which is the best choice.
Graph Toolkit is the one you should check out once it is “available soon”. It is the continuation / replacement for the practically internal-use-only but now open-sourced GraphTools Foundation (see also this thread).
The experimental UnityEditor.GraphView is otherwise still the best option. Someone made an open source wrapper for it: NodeGraphProcessor. Which admittedly is also old but do check the forks, one of them if I recall correctly had been maintained for much longer. Note that no updates have been done on either the repository or GraphView in the past years so for all we know it may even be broken in Unity 6.
You can at least learn how to connect things in GraphView from NGP. Though when I used it, I found it heavily confusing and felt over-engineered to me so it may not be the best solution to add your work on top. But then again it also tells you how much you still have to implement in order to move away from the extremely barebones look and feel of GraphView to something closer to VisualScripting.
On GitHub you’ll also find xNode which is … well, old but used to be popular. I haven’t used it but some like it while others say it performs terrible. I wouldn’t use it to base new work on it because it’s pretty much using outdated tech all around.
Thank you! I’m glad to see it’s such a hot area with so many people working on it. I think I’ll wait for the new Graph Toolkit and in the meantime, I’ll learn more about Unity!