Plugin System Overview
StudioBrain’s plugin system lets you extend the application with custom UI panels, backend routes, entity tabs, creative tools, and AI integrations. Plugins are distributed through the Plugin Marketplace and run in a sandboxed environment that protects your data while giving plugins the access they need.
What Plugins Can Do
Plugins hook into StudioBrain at multiple levels:
| Extension Point | Description | Example |
|---|---|---|
| Sidebar panels | Custom UI rendered in the entity editor sidebar | Relationship graph, AI writing assistant |
| Entity tabs | Full-width tabs on entity pages | Version history, analytics dashboard |
| Standalone pages | Dedicated pages under /plugins/{id} | Kanban board, bulk export tool |
| Menu items | Entries in the Tools menu or context menus | ”Export to PDF”, “Sync to Jira” |
| Backend routes | Custom REST API endpoints under /api/plugins/{id}/ | Webhook receivers, external service bridges |
| Event handlers | React to entity lifecycle events | Auto-tag on create, validate on save |
| AI integrations | Use the AI generation service for content creation | Character backstory generator, description enhancer |
| Field widgets | Custom form inputs in the entity editor | Gradient picker, map coordinate selector |
Plugin Runtimes
StudioBrain supports two plugin runtimes with different tradeoffs:
WASM (Recommended)
WebAssembly plugins run in a memory-safe sandbox on all platforms. This is the primary runtime for all new plugins and the only runtime allowed on StudioBrain Cloud.
| Property | Details |
|---|---|
| Platforms | Cloud, Desktop, Core (self-hosted) |
| Sandboxing | Full memory isolation. No host access unless explicitly granted via capabilities. |
| Performance | Near-native. 5-20ms cold start. |
| Languages | Rust, Python (via componentize-py), TypeScript (via javy), C/C++, Go |
| Distribution | Single .wasm binary, no runtime dependencies |
Python / Lua (Legacy)
Python and Lua plugins run natively on the host machine. They have full access to the filesystem and network unless restricted by the OS. These runtimes are available only on Desktop and Core (self-hosted) editions.
Python and Lua plugins are considered unsafe because they execute outside the WASM sandbox. They cannot be distributed through the Community Marketplace and are not available on StudioBrain Cloud. New plugins should use WASM.
| Property | Details |
|---|---|
| Platforms | Desktop, Core (self-hosted) only |
| Sandboxing | None. Runs as a native process with host-level access. |
| Performance | Interpreted. 100-500ms cold start. |
| Languages | Python 3.10+, Lua 5.4 |
| Distribution | Requires Python/Lua runtime on the host machine |
Where Plugins Appear
Plugins declare where their UI renders in the plugin.json manifest. The host application loads plugin panels into the appropriate slots:
+--------------------------------------------------+
| Entity Editor |
| |
| +------------------+ +----------------------+ |
| | Main Content | | Sidebar | |
| | | | | |
| | [entity fields] | | [plugin panels] | |
| | | | - AI Assistant | |
| | | | - Relationships | |
| +------------------+ +----------------------+ |
| |
| Tabs: Overview | Relations | [Plugin Tabs...] |
| +----------------------------------------------+ |
| | [plugin tab content] | |
| +----------------------------------------------+ |
+--------------------------------------------------+Panel locations declared in plugin.json:
| Location | Where it renders |
|---|---|
entity-sidebar | Right sidebar of the entity editor |
entity-tab | As a tab on the entity page |
entity-footer | Below the main content area |
page | As a standalone page accessible from navigation |
tools-menu | As an entry in the Tools dropdown menu |
Official vs Community Plugins
The Plugin Marketplace has two catalogs:
Official Plugins
Maintained by Biloxi Studios. Verified, tested against every release, and covered by StudioBrain support. Official plugins include creative tools (ComfyUI, Voice Forge), export plugins (PDF, Unity, Unreal), and integrations (Jira, Discord, Google Sheets).
Community Plugins
Created by third-party developers and submitted to the studiobrain-community-plugins repository. Community plugins must use the WASM runtime. They go through automated validation and optional manual review before appearing in the marketplace.
Community plugins are not covered by StudioBrain support. Review the plugin’s source code, permissions, and author reputation before installing.
Platform Compatibility
Not all plugins run on all platforms. The platforms field in plugin.json declares compatibility:
| Platform | WASM Plugins | Python/Lua Plugins |
|---|---|---|
| Cloud (app.studiobrain.ai) | Yes | No |
| Desktop (Tauri app) | Yes | Yes (with consent dialog) |
| Core (self-hosted) | Yes | Yes (with consent dialog) |
The marketplace filters plugins by your current platform automatically. Cloud users only see WASM plugins. Desktop and Core users see all compatible plugins.
Security Model
Plugins declare the capabilities they need in plugin.json. The host enforces these declarations at runtime:
- Auto-granted capabilities (entity_read, asset_read, ai_generate) are safe and enabled by default.
- Consent-required capabilities (entity_write, asset_write, http_request) show a permission dialog before the plugin can use them.
- Platform-restricted capabilities (file_read, file_write) are blocked entirely on Cloud.
See the Permissions Reference for the complete capability matrix.
Next Steps
- Using the Marketplace — Browse, install, and manage plugins
- Getting Started — Scaffold and build your first plugin
- Creating Plugins — Full plugin development guide
- Permissions Reference — Capability system details
- Host Functions API — WASM host function reference