Skip to content
Back to skills

Plugin System

ASecurity

"Guides Meshroom plugin, node-folder, template, submitter,

  • 247 stars
  • 0 votes
  • 0 copies
  • 3 views
  • Added September 8, 2026
code-qualitypythonnodedebugging

Works with

  • cli

Security analysis

A100/100

Pro scans all 5 files and shows the line behind each finding

Scanned September 8, 2026

npx -y skills add VectorSpaceLab/AREX-Skill --skill plugin-system --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Plugin System?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Plugin System
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/vectorspacelab-plugin-system/badge)](https://www.skillsdirectory.com/skills/vectorspacelab-plugin-system)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: plugin-system
description: "Guides Meshroom plugin, node-folder, template, submitter,
  config.json, user-plugin, Rez-plugin, and process-environment discovery
  workflows."
disable-model-invocation: true
metadata:
  disco-role: operating
license: NOASSERTION
---

# Meshroom Plugin System

Use this route when Meshroom cannot see a custom node/template/plugin, when plugin configuration or process environments are involved, or when a user asks how to package a Meshroom plugin.

## Read First

- [Plugin loading reference](references/plugin-loading-reference.md)
- [Process environments](references/process-environments.md)
- [Troubleshooting](references/troubleshooting.md)
- Run [scripts/check_plugin_folder.py](scripts/check_plugin_folder.py) before debugging a loaded provider.

## Minimum Plugin Shape

```text
plugin-root/
  meshroom/
    customNodes/
      __init__.py
      MyNode.py
    customTemplate.mg
    config.json                 # optional
  venv/                         # optional plugin runtime
```

Set `MESHROOM_PLUGINS_PATH` to `plugin-root`, not to the nested `meshroom/` folder. Meshroom scans packages below that folder, loads node descriptor providers, registers `.mg` templates, and constructs a process environment.

## Initialization Order

For programmatic inspection, initialize in this order when needed:

```python
import meshroom
meshroom.setupEnvironment()
import meshroom.core
meshroom.core.initPlugins()
meshroom.core.initNodes()
meshroom.core.initPipelines()
meshroom.core.initSubmitters()
```

- `initPlugins()` loads classic/user/Rez plugin roots.
- `initNodes()` loads built-in nodes plus `MESHROOM_NODES_PATH` folders.
- `initPipelines()` registers templates from explicit template paths and loaded plugins.
- `initSubmitters()` loads submitter packages from `MESHROOM_SUBMITTERS_PATH`.

The CLI may choose a different order for its workflow; do not assume a template is visible before its plugin has been loaded.

## Configuration Rules

`config.json` is an array of entries with `key`, `type`, and `value`. `type: "path"` resolves relative paths against the plugin root when the path exists. User environment variables take precedence over config defaults in the merged process environment.

## Route Elsewhere

- Author the node descriptor itself with [node-descriptors](../node-descriptors/SKILL.md).
- Use a discovered template or run it from the CLI with [cli-pipeline-execution](../cli-pipeline-execution/SKILL.md).
- Debug LocalFarm daemon/task behavior with [local-farm-submission](../local-farm-submission/SKILL.md).

Files in this skill

  • SKILL.md2.5 KB
  • references/plugin-loading-reference.md2.5 KB
  • references/process-environments.md1.6 KB
  • references/troubleshooting.md1.6 KB
  • scripts/check_plugin_folder.py2.8 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.