Skip to content

Repository files navigation

Unity Node Editor Base

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...!

Editor Preview

Custom Node Rendering. This is a LibNoise port (WIP). Click on image to see a video preview. Libnoise Port Sample

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.

About

Basic editor extension functionality to get a node editor up and running.

Topics

Resources

Code of conduct

Contributing

Stars

336 stars

Watchers

31 watching

Forks

Releases

Packages

Contributors

Languages