Plugins
Plugins add nodes, GPU effects and audio gear to DNA without changing the app itself.
A plugin puts tools in the palette that behave like the built-in ones: they appear in node search, wire into a graph and carry their own parameters. Some are published by other artists and studios. Some you write yourself.
Installed plugins live in ~/.dna/plugins/. View > Plugin Manager… opens a window listing what loaded, with its version, its kind and how many nodes and panels it added, plus a Failed to Load section spelling out why anything did not.
What a plugin can add
A single plugin sticks to one of these.
Custom nodes compute something the built-ins do not. Write them in Python for prototyping, data wrangling and scripting, or in compiled native code where the arithmetic has to be fast.
GPU shaders are image and effect nodes that run entirely on the graphics card, written in WGSL or GLSL: chromatic aberration, custom blurs, stylised looks. They take up to four texture inputs and run per frame.
Third-party plugins you already own
These are a different thing to a DNA plugin. They are the CLAP, VST3, FFGL and OpenFX plugins already installed in your operating system's plug-in folders, which DNA scans and hosts inside the graph.
The Plugin Host node hosts an audio plugin, CLAP or VST3, with audio in and out and a latency read-out. The Visual Plugin node does the same for FFGL and OpenFX effects, with two image inputs. Both take the plugin's id in a plugin_id text field, which you type by hand: there is no picker listing what was found.
Three parts of this are unfinished. The hosted plugin's own parameters do not become node controls. Preset browsing is not wired up. And a plugin's plugin_state is loaded if a project already carries one, but nothing ever captures it, so a plugin's own settings do not survive a save. A VST3 editor window is reachable only through the Open Plugin Editor command on Cmd+E, an accelerator the File menu takes for Export…, so on macOS it does not open at all.
Installing and authoring
To install a plugin, put its folder in ~/.dna/plugins/ and press Refresh in the Plugin Manager. Installing plugins covers what is scanned and what is not.
To build your own, start with Authoring a node plugin for custom nodes or Authoring a shader plugin for GPU effects. plugin.toml reference documents the small text file that describes every plugin.
Python and shader plugins can be reloaded from the Plugin Manager without restarting. Native and Rust plugins load once, so swapping one means restarting.
Trust and safety
Plugins are real code running on your machine, so what they can touch is declared up front. Each one states in its manifest whether it needs GPU access, persistent state, file access, the network or the ability to load other plugins.
Those declarations are checked against the project's trust level. In a restricted project, which is every project until you trust its path, a plugin declaring any capability at all is refused before it loads.
Capabilities & trust has the full model, and Trust & Permissions covers how trust works across DNA generally.