Awesome
NewGraph
NewGraph is a data-oriented node graph solution for Unity powered by UIToolkit (UIElements). This is based on the idea to visualize complex data structures as graph networks without having to modify already established data classes, except adding [Node]
, [Port]
, [PortList]
and [SerializeReference]
attributes to all classes that should show in the Graph View.
This is planned to receive long term support as it is an integral part of our internal suite of tools at Gentlymad Studios.
Changelog 📢
See the Changelog for current updates!
Requirements 🌵
- GraphViewBase
- OdinSerializer (Original OdinSerializer repository: https://github.com/TeamSirenix/odin-serializer)
- This project requires (or later) as the Unity version.
Features 🍒
WYSIWYG.
A port connecting to a node in the graph is areal reference
to the object in yourgraph .asset
- Good performance even with many nodes as this is built upon the new retained
UIToolkit
UI system. - create visual data oriented networks based on your custom
[Serializable]
data classes simply byadding attributes
. Fully serialized dynamic lists
of ports with the[PortList]
attribute.- Customize data visualization with
[GraphDisplay]
: Display a field inside the graph, side inspector or both views. - Full support of Unity's native
Undo/Redo
stack. - Support for
Utility Nodes
that can be created to help organize your specific graph business. Copy & Paste
even across graphs.- No child
ScriptableObject
mayhem! A graph asset will hold all your data inone single scriptable object
. Cyclic references
andcomplex reference chains
are natively supported with the use of [SerializeReference] attribute.No reliance
on the now deprecatedExperimental.GraphView
. Everything was written from scratch or is based on maintainable code.Keyboard shortcuts
, asearchable context menu
, default UtilityNodes likeCommentNode
,GroupCommentNode
, a extensively commented code base and more...
Wiki 📒
See the Wiki for installation & usage instructions.
~ Use at your own risk. ~