Skip to content
Curious Trove
Editor Guide Graph editor OctoShaper 1.3Updated

Node Graph Basics

A Procedural Graph is a recipe. Data enters at Main Input, flows through linked nodes, and leaves at Main Output. Parameters sit around the graph as the knobs you tweak later. This page covers the pieces and how to wire them.

Your first graph

  1. In the Project window choose Create > OctoShaper > Procedural Graph, then open the asset.
  2. Add nodes from the node search and connect outputs to compatible inputs.
  3. Connect the final ElementSet to Main Output.
  4. For a first visible result, connect Main Input through a prefab or primitive spawning node, such as Spawn Prefab, to Main Output. Draw nodes without a material use a default lit material, so mesh graphs preview right away too.
  5. Save, then assign the graph to a Procedural Graph Executor in your scene, or just watch the Preview Stage.
The OctoShaper 1.2 graph editor with five areas annotated: graph settings panel, toolbar, connected nodes, Main Output with its preview, and the shortcuts hint
The 1.2 graph editor: graph settings, toolbar, nodes, Main Output and shortcuts.

How data flows

ExplainerHow a table flows through a graph
  • Main Input and Main Output are always ElementSets. See Elements, ElementSets and attributes.
  • Each node is one typed operation. Its inputs come from links, constants or parameters.
  • Execution follows links, not canvas position. A node runs once everything it depends on is ready.
  • Use the built-in Merge node to join several ElementSets. It accepts any number of links on one input.

Ports, help and rejected connections

Port colors match value types. Hover a port to see its type and, for ElementSets, the attributes it requires and provides.

  • Click a node's ? button for descriptions of every input and output.
  • When the editor rejects a connection, it explains why, for example a missing renderDefinition. Add the attribute upstream or pick another input.
  • Inputs with a Constant / Attribute switch can read a per-element column instead of one value.

Parameters

Parameters are the graph's public controls. Designers change them on an executor or procedural prefab, parent graphs set them on subgraphs, and scripts set them at runtime. They aren't columns in the ElementSet.

Add them from the parameters panel. 1.2 added Color, Texture, Texture 2D, Gradient and Vector2 parameters, and 1.3 makes Animation Curve parameters editable in the panel. Vector3 and spline parameters can be edited directly in the Scene view with the OctoShaper tools. Click the move icon on a Float or Integer parameter card to give it a Scene handle.

Tip: Expose the values you expect to tweak often. Keep the rest inside the graph so it stays a reusable recipe.

Subgraphs

Any graph can be used inside another as a subgraph node. Its Main Input and Main Output become the node's ports, and its parameters become the node's inputs. Connect subgraph inputs explicitly. Unconnected parameters keep their defaults, even in nested subgraphs.

Keeping big graphs tidy

  • Organise nodes in the toolbar's Advanced menu lays the graph out automatically.
  • Spline and weighted-list controls start collapsed, so nodes stay compact.
  • Legacy nodes are hidden from search, so the search list only shows current nodes.

Next: Preview Stage and inspection shows how to see each node's result.

Frequently asked questions

How do I create an OctoShaper graph?
In the Project window choose Create > OctoShaper > Procedural Graph, then double-click the asset to open it.
What order do nodes run in?
Execution follows the links. A node runs once everything it depends on has finished. Where a node sits on the canvas doesn't matter.
Why can't I find an older node in search?
Legacy nodes are hidden from node search in 1.2 but keep working in saved graphs. The node catalog marks them as Legacy and the upgrade guide lists their replacements.