Reusable subgraphs
Save a subgraph once, then drop it into any project — with the controls you choose exposed right on the node.
A subgraph groups a chunk of your graph into a single node. Once you've built something you like — a custom particle look, a logo treatment, a reusable colour rig — you can save it to your library and reuse it across every .dna project, just like an image or a video.
Saving a subgraph to your library
Build your subgraph, then save it as an asset. DNA writes a .dna subgraph file into your asset library, tagged with a name, description, author, and category so you can find it again.
Two things travel with the saved asset:
The whole inner graph — every node and wire inside.
The canvas size the subgraph was authored at, plus its name and tags.
Saved subgraphs show up in the Asset Browser right alongside your other media. From there you can:
Search and browse by folder
Click to preview
Drag onto the graph to drop in a new instance
Drag straight onto a socket to wire it up as you place it
Give each subgraph a clear name and a category when you save it. A tidy library is the difference between reaching for a reusable rig in seconds and rebuilding it from scratch.
Exposed controls
A reusable subgraph is far more useful when its key dials live on the outside of the node. DNA lets you promote any control from an inner node onto the subgraph's surface, so anyone using it can tweak it without ever opening it up.
A promoted control inherits its look from whatever it drives inside. If the inner control is a slider with a range, the surfaced version is the same slider with the same range. Promote a single component — like just the x of a position — and you get a clean scalar dial on the outside.
Editing an exposed control re-cooks the affected part of the graph, exactly as if you'd changed it on the inner node directly. The value you set is baked into that specific placement.
Many copies, one definition
Drop the same subgraph into a project ten times and you have ten instances of one definition. Improve the definition and every instance picks up the change.
Each instance can still carry its own personality:
Per-instance values — set different exposed-control values on each copy.
Per-instance animation — keyframe an exposed control on one instance without touching the others. (This follows the same library-override idea as Blender node groups.)
This is the payoff of reusing a subgraph rather than copy-pasting: one place to fix things, many places to vary them.
Embedded vs library
A subgraph can live in two places:
In your library — a standalone asset, shared across projects, referenced by every project that uses it.
Embedded in the project — saved inside the .dna file itself, so the project is fully self-contained.
Embedding is handy when you want to hand off a single file that just works. Keeping it in the library is better when you reuse the same rig everywhere and want one source of truth. When you package a project, DNA can gather referenced subgraphs alongside it.