Basic editor extension functionality to get a node editor up and running. (Click on image to see video preview)
Main Features
- Editor view with panning, zooming, and grid background
- Save System using Scriptable Objects
- Customizable GUI
- Create, delete, drag nodes
- Create, change, delete connections between nodes
- Undo/Redo system
- Action binding system (bind an action to a key input, context menu, etc..)
- Reactive nodes. Output nodes are updated automatically if a change occurs.
- More to come...!
Custom Node Rendering. This is a LibNoise port (WIP). Click on image to see a video preview.
Custom node class example
publicclassPerlinNode:EditorNode{privatePerlin_noise=newPerlin();publicPerlinNode(){name="Perlin";varnoiseIn=AddInput();noiseIn.name="Input";varmask=AddInput();mask.name="Mask";varnoiseOut=AddOutput();noiseOut.name="Output";noiseOut.getValue=()=>{return_noise;};FitKnobs();bodyRect.height+=95f;bodyRect.width=150f;}publicoverridevoidOnBodyGUI(){EditorGUI.BeginChangeCheck();_noise.Seed=EditorGUILayout.IntField("Seed",_noise.Seed);_noise.OctaveCount=EditorGUILayout.IntField("Octaves",_noise.OctaveCount);_noise.Persistence=EditorGUILayout.DoubleField("Persistence",_noise.Persistence);_noise.Frequency=EditorGUILayout.DoubleField("Frequency",_noise.Frequency);_noise.Lacunarity=EditorGUILayout.DoubleField("Lacunarity",_noise.Lacunarity);if(EditorGUI.EndChangeCheck()){// ... do stuff...}}The Discord is just an archive now. Please visit https://github.com/Siccity/xNode as a more complete Node plugin solution.

