Node graph editor framework focused on data processing using Unity UIElements and C# 4.7
npm install com.warwlock.node-graph-processorProject Settings --> Package Manager
https://registry.npmjs.com
CSharp
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using GraphProcessor;
using System.Linq;
[System.Serializable, NodeMenuItem("Operations/Sub")] // Add the node in the node creation context menu
public class SubNode : BaseNode
{
[Input(name = "A")]
public float inputA;
[Input(name = "B")]
public float inputB;
[Output(name = "Out")]
public float output;
public override string name => "Sub";
// Called when the graph is process, process inputs and assign the result in output.
protected override void Process()
{
output = inputA - inputB;
}
}
`
Community
Join the NodeGraphProcessor Discord server!
Features
- Node and Graph property serialization (as json)
- Scriptable Object to store graph as a Unity asset.
- Highly customizable and simple node and links API
- Support multi-input into a container (multiple float into a list of float for example)
- Graph processor which execute node's logic with a dependency order
- Documented C# API to add new nodes / graphs
- Exposed parameters that can be set per-asset to customize the graph processing from scripts or the inspector
- Parameter set mode, you can now output data from thegraph using exposed parameters. Their values will be updated when the graph is processed
- Search window to create new nodes
- Colored groups
- Node messages (small message with it's icon beside the node)
- Stack Nodes
- Relay nodes
- Display additional settings in the inspector
- Node creation menu on edge drop
- Simplified edge connection compared to default GraphView (ShaderGraph and VFX Graph)
- Multiple graph window workflow (copy/paste)
- Vertical Ports
- Sticky notes (requires Unity 2020.1)
- Renamable nodes
More details are available in the Changelog
Documentation
API doc is available here: alelievr.github.io/NodeGraphProcessor
The user manual is hosted using Github Wiki.
Remaining to do
- Investigate for ECS/Jobs integration
- API to create the graph in C#
- Subgraphs
For more details consult our Github Project page.
Projects made with NodeGraphProcessor
$3

Want to be in the made with list? Send a message to the issue #14
Gallery
$3

$3

$3

$3

$3

$3

$3

$3

$3

$3

$3

$3

$3

$3

$3

$3
!image
$3
!image
$3
!CreateNodeFromObject
$3
Just add this bit of code in your Node script to make it renamable in the UI.
`CSharp
public override bool isRenamable => true;
``