Releases: alelievr/NodeGraphProcessor
Releases · alelievr/NodeGraphProcessor
Unity Builtin Drawers
This release adds builtin support for unity drawers. That allows you to directly use UnityActions or reorderable list with having a custom node view.
Example with the list node:
[System.Serializable, NodeMenuItem("Custom/List")]
public class ListNode : BaseNode
{
public List<GameObject> objs = new List<GameObject>();
public override string name => "List";
protected override void Process()
{
}
}
Automatic view:
QoL improvements
[1.2.0]
Added
- Renamable nodes
- Added an API in the toolbar view to add separators and custom UI fields.
- Added API to check if node was created from a duplication operation (see BaseNode.createdFromDuplication and BaseNode.createdWithinGroup).
Changed
- Node inspector settings are now serialized for the lifetime of an editor session (not between sessions).
Fixed
- Fixed GetNodeViewTypeFromType not supporting inheritance.
- Fixed nodes loosing the graph reference after the asset was changed in by an external process.
Vertical ports!
Serialilzation refactor
The 1.0.0 release refactor completely the serialization system and improve a lot how parameters are handled in the UI.
There are also new controls for parameters allowing exposed sliders, range, etc.
Additionally, there is a new API to change the color of the node, similar to what ShaderGraph has:
If you experience any issues regarding the upgrade, please see the Upgrade Guide
Utility update
Node inspector update
- Depth first compute order (enabled by default) instead of breadth first
- Cycle detection in the graph, cyclic nodes are now marked with a compute order of -2
- Added a node create menu when dropping an edge in the graph that also connects the edge to the new node (like in ShaderGraph or VFX Graph)
- Added ITypeAdapter.GetIncompatibleTypes to list all the incompatible types (prevent automatic casting / unwanted connectable ports, can be used to exclude a conversion to System.Object for example)
- Added a node inspector to show advanced settings in the inspector, see
ShowInInspector.cs
andDrawDefaultInspector(bool fromInspector)
for more details.
VisibleIf and mouse over control field
- VisibleIf attribute in nodes, allow you to show fields only when another field have a specific value.
- Added the possibility to hide controls when the mouse is not over the node