- Voro
- Authoring
Custom modules and presets
An authored node is a Kernel FX, Script FX, ONNX FX, Rig FX, Warp FX or Material with a source you wrote. Once it does what you want, save it. It becomes a module with its own name, placed from the Custom column of its view like any shipped operator.
Save as Custom Module
Section titled “Save as Custom Module”The pulse Save as Custom Module sits on the Voro page of an authored node. It writes the module’s files into a folder you name:
| Operator | Required | Optional |
|---|---|---|
| Kernel FX, Script FX, Warp FX | main.py | presets.json |
| ONNX FX | main.onnx | presets.json |
| Rig FX | main.rig | module.json, presets.json, theme.json |
| Material | main.glsl | module.json |
Voro detects a module by which of these files it holds, so a folder is a Kernel FX module because it has a main.py that compiles as one. The host keeps its own record beside your files in voro_managed/.
Fork Module
Section titled “Fork Module”A shipped operator that was frozen from a source, such as Blur or the model operators, carries no editable source. Its Voro page shows Fork Module instead. Fork makes an editable copy with the source, and the copy is yours to change and save.
Where modules live
Section titled “Where modules live”Two roots are read, and the project one wins when both hold the same name:
- your user root,
Documents/Voro/voro_customunlessVORO_HOMEsays otherwise - the project root, a
voro_customfolder beside the project file
A module is a folder directly under the root, or one level down inside a group folder. Nothing deeper is read. A group folder becomes a group in the Custom column. Names that end in a version suffix like _v2 are refused, and a module that collides with a shipped name is refused.
A placed custom module is a real node of its operator kind. Its source and presets are docked DATs on the node. Syncing the DAT from the file is off by default for a user module and on, project-relative, for a project module. An edit on disk becomes the next candidate when you press Reload.
Presets
Section titled “Presets”A node that carries presets shows a preset menu. Save Current Look on the Voro page writes the node’s current values as a preset. Presets are layered: the ones a module ships with, then global, user and project layers, each adding to the last.
Custom modules of every kind follow this page. The details that differ per operator are on each authoring page.