Log inGet started

Nodebox (asset type)

Updated October 10, 2026

Where it lives

  • Source: <anywhere>/<family>.nodebox/, usually inside a .package, an effect or a world's content.
  • Identity: <family> (the .nodebox suffix strips).
  • Folder shape (open child set):
    • README.md: what the family is for. Required.
    • .metadata: description and tags. Required.
    • <node>.procNode/: any number of nodes.

How a graph reaches a node

g.<family>.<node>(args) resolves the node by its asset identity: the box and the folder name together (g.points.disc), a path (g["/zero/source/fx/ring.procNode"]), ~ (the nearest enclosing package, effect or world root: g["~/ring"]) or a short name the asset system resolves (g.disc). A name that matches two nodes is an error naming both; a name that matches none is an error naming the closest nodes. Each call is recorded in the graph's reference table by the node's guid.

How to create one

asset.create("nodebox", "points", { folder = "fx" })
local box = asset.resolve("points.nodebox")
asset.create("procNode", "disc", { into = box })

Discovery

  • asset.list("nodebox"): every box.
  • asset.inspect("points"): the nodes in it and what each does.
  • asset.list("procNode"): every node, in or out of a box.

In the Inspector

Nodes: how many nodes the box holds, each node's full name and what it does, and a link to each.

  • asset-type
  • reference