Skip to content

A general node graph solution centered on data management. This is based on the idea to visualize complex data structures as graph networks without having to modify already established data classes.

License

Notifications You must be signed in to change notification settings

emrys90/NewGraph

 
 

Repository files navigation

NewGraph

UnityVersion Version GitHub last commit GitHub GitHub issues image 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 🌵

  1. GraphViewBase
  2. OdinSerializer (Original OdinSerializer repository: https://github.com/TeamSirenix/odin-serializer)
  3. This project requires UnityVersion (or later) as the Unity version.

Features 🍒

  • WYSIWYG. A port connecting to a node in the graph is a real reference to the object in your graph .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 by adding 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 in one single scriptable object.
  • Cyclic references and complex reference chains are natively supported with the use of [SerializeReference] attribute.
  • No reliance on the now deprecated Experimental.GraphView. Everything was written from scratch or is based on maintainable code.
  • Keyboard shortcuts, a searchable context menu, default UtilityNodes like CommentNode, GroupCommentNode, a extensively commented code base and more...

Wiki 📒

See the Wiki for installation & usage instructions.

~ Use at your own risk. ~

About

A general node graph solution centered on data management. This is based on the idea to visualize complex data structures as graph networks without having to modify already established data classes.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C# 100.0%