Using the Marketplace

The Plugin Marketplace is where you discover, install, and manage StudioBrain plugins. Access it from Settings > Plugins > Marketplace in the application.

Marketplace Tabs

The marketplace is organized into five content tabs and a source filter:

Content Tabs

TabWhat It Shows
PluginsWASM and Python/Lua plugins that extend the application with custom panels, routes, and integrations
TemplatesTemplate packs and individual entity templates. See Template Packs for details on what packs contain.
RulesAI generation rule sets that constrain content generation per entity type. See AI Generation Rules.
SkillsAI agent skills with custom prompts and parameters. See Agent Skills.
LayoutsUI layout definitions that control entity page structure. See UI Layouts.

Source Filter

Each content tab has a source filter with three options:

  • All — Show both official and community content
  • Official — Only content maintained by Biloxi Studios (marked with a checkmark badge)
  • Community — Third-party content submitted by the developer community

Community plugins must use the WASM runtime. Community templates, rules, skills, and layouts have no runtime restriction but are not covered by StudioBrain support.

Search and Filters

Use the search bar to find content by name, description, or keyword. On the Plugins tab, narrow results with category filters:

CategoryWhat it contains
Creative ToolsImage generation, voice synthesis, music, model training
Export & PublishingPDF, game engine formats, production pipelines
IntegrationsJira, Discord, Google Sheets, Notion, webhooks
Project ManagementKanban boards, time tracking, version history
DevelopmentDeveloper tools, debugging, example plugins
AI & AutomationAI-powered content generation, batch processing
Field WidgetsCustom form inputs for the entity editor

You can also filter by:

  • Platform — Show only plugins compatible with your current edition (Cloud, Desktop, Core)
  • Featured — Hand-picked plugins highlighted by the StudioBrain team
  • Recently updated — Plugins with recent version bumps

Installing a Plugin

Step 1: Find the Plugin

Browse or search the marketplace. Click a plugin card to see its detail page with:

  • Description and screenshots
  • Required capabilities (permissions)
  • Platform compatibility
  • Version history
  • Author information

Step 2: Click Enable

Click the Enable button on the plugin detail page. If the plugin requires no special permissions, it activates immediately.

If the plugin declares capabilities that require approval, a consent dialog appears before activation. The dialog lists each requested capability and explains what it allows the plugin to do.

You can review a plugin’s required capabilities before installing by checking the Permissions section on its detail page.

Example consent dialog:

Plugin "Jira Sync" requests the following permissions:

  [auto] entity_read     - Read your entity data
  [auto] asset_read      - Read your entity assets
  [!]    entity_write    - Create and modify entities
  [!]    http_request    - Make network requests to:
                           jira.atlassian.com, *.atlassian.net

  [Enable]  [Cancel]

Items marked [auto] are safe and granted automatically. Items marked [!] require your explicit approval. If you cancel, the plugin is not installed.

Step 4: Configure (if needed)

Some plugins have configuration options that appear after installation. Go to Settings > Plugins, click the gear icon next to the plugin, and fill in any required settings (API keys, external service URLs, entity type filters).

Understanding Capability Permissions

Each capability controls what a plugin can access. Here is what each permission means in practice:

entity_read / asset_read (Auto-granted, safe)

The plugin can read your entities and their attached assets (images, files). This is required for almost every plugin and is granted automatically. The plugin cannot modify anything with read-only access.

entity_write / asset_write (Requires approval)

The plugin can create, modify, or delete entities and assets. Plugins that sync data from external services, generate content, or transform assets need write access. Changes made by plugins appear in the entity’s version history.

⚠️

Only grant write access to plugins you trust. A plugin with entity_write can modify any entity type it has access to.

http_request (Requires approval)

The plugin can make outbound HTTP requests. The consent dialog shows which domains the plugin will contact. On Cloud, only the declared domains are allowed. On Desktop and Core, the plugin can reach any domain (the declared list is informational).

file_read / file_write (Desktop and Core only)

The plugin can read from or write to the local filesystem. This is blocked entirely on Cloud. On Desktop and Core, a consent dialog shows the requested paths.

🚫

Filesystem access is the highest-risk capability. Only grant it to plugins you have reviewed or that come from trusted authors. WASM sandboxing limits access to declared paths, but Python/Lua plugins have unrestricted access.

ai_generate (Auto-granted)

The plugin can call the StudioBrain AI generation service. This is auto-granted because usage is tracked and billed through your account’s BrainBits balance. The plugin cannot exceed your available BrainBits.

Enabling and Disabling Plugins

Enable

Go to Settings > Plugins. Find the plugin and toggle the switch to On. The plugin loads immediately — no restart required.

Disable

Toggle the switch to Off. The plugin’s UI panels disappear and its backend routes stop responding. Plugin data and configuration are preserved. You can re-enable the plugin later without reconfiguring it.

Uninstall

Click the three-dot menu next to the plugin and select Uninstall. This removes the plugin’s configuration, stored data, and capability grants. The plugin must be reinstalled and reconfigured from scratch.

Built-in official plugins can be disabled but not uninstalled. They are part of the StudioBrain installation.

Revoking Permissions

To change a plugin’s permissions after installation:

  1. Go to Settings > Plugins.
  2. Click the gear icon next to the plugin.
  3. Open the Permissions tab.
  4. Toggle individual capabilities on or off.

Revoking a capability takes effect immediately. The plugin will receive an error if it attempts to use a revoked capability. Some plugins may not function correctly without all their declared capabilities.

Platform Differences

The plugin experience varies by edition:

Cloud (app.studiobrain.ai)

  • WASM only. Python and Lua plugins are not available.
  • Domain enforcement. http_request is restricted to the domains declared in plugin.json. Requests to undeclared domains are blocked.
  • No filesystem. file_read and file_write capabilities are blocked.
  • Tier limits. The number of active plugins depends on your subscription tier.
TierMax Active Plugins
Free3
Solo / Indie10
TeamUnlimited
EnterpriseUnlimited

Desktop (Tauri app)

  • All runtimes. WASM, Python, and Lua plugins are supported.
  • Consent-based. Every capability beyond auto-granted ones requires a consent dialog.
  • Full network. http_request can reach any domain. Declared domains are informational.
  • Filesystem access. file_read and file_write are available with consent.
  • No tier limits. Plugin count is unlimited.

Core (Self-hosted)

  • All runtimes. Same as Desktop.
  • Consent-based. Same consent model as Desktop.
  • Full network and filesystem access. Same as Desktop.
  • No tier limits. Plugin count is unlimited.
  • Admin control. The server admin can restrict which plugins are available to users via the admin configuration file.

Troubleshooting

Plugin is not appearing in the marketplace

  • Check that your platform filter matches your edition. Cloud users cannot see Python/Lua plugins.
  • Search by the exact plugin ID if the name search does not return results.
  • Community plugins may take up to an hour to appear after their PR is merged.
  • The plugin may be requesting a new capability after an update. Review the changes and approve or reject.
  • If you previously revoked a capability, the plugin will request it again on next load.

Plugin fails after enabling

  • Check Settings > Plugins > [Plugin] > Logs for error messages.
  • Verify that all required settings (API keys, URLs) are configured.
  • Check the Plugin Health API for circuit breaker status.

”Plugin limit reached” error

  • You have hit your tier’s active plugin limit. Disable an unused plugin or upgrade your plan.
  • Limits are enforced at activation time. You can browse and view plugin details even at the limit.

Templates, Rules, Skills, and Layouts Tabs

The non-plugin tabs share a consistent UI pattern: each entry shows a card with the item’s name, description, author, and source badge (Official or Community). Actions vary by content type:

Templates Tab

Shows template packs available for installation. Each card displays the pack name, included entity types, template/example/rule counts, and version. Click Install to copy the pack’s contents into your project. Installed packs show an Uninstall option.

Template packs with is_default: true are featured at the top. Packs with auto_install: true are installed automatically on first project startup.

Rules Tab

Shows available AI generation rule sets organized by entity type. Each card displays the number of rules, whether the set includes defaults and validation, and the source (official/community). Installing a rule set copies it to your project’s _Rules/ directory.

Skills Tab

Shows AI agent skills with their name, description, category, tags, and version. Each card indicates which entity types the skill targets. Click Install to add the skill to your project. Installed skills can be enabled or disabled per project.

Layouts Tab

Shows UI layout definitions for entity types. Each card displays the entity type, section count, and tab count. Installing a layout copies the .layout.json file to your project’s _Templates/Layouts/ directory.

Catalog API

The marketplace browser is powered by the Catalog API, which provides a unified endpoint for browsing all content types. Each tab in the marketplace queries this endpoint with a different kind parameter.

Browse Catalog

GET /api/catalog?kind={kind}

Query parameters:

ParamTypeDescription
kindstringContent type: plugins, templates, rules, skills, schemas, layouts
sourcestringFilter by source: all, official, community
searchstringFull-text search across name and description
categorystringFilter by category (plugins only)
limitintegerMax results (default: 20, max: 100)
offsetintegerPagination offset

Response:

{
  "items": [
    {
      "id": "fantasy-rpg",
      "name": "Fantasy RPG Starter",
      "description": "Complete template set for tabletop or video game RPG worldbuilding",
      "kind": "templates",
      "source": "official",
      "author": "Biloxi Studios",
      "version": "2.0.0",
      "categories": ["game-dev", "worldbuilding", "fantasy"],
      "featured": true
    }
  ],
  "total": 42,
  "limit": 20,
  "offset": 0
}

Kind Values

KindContent TypeTab
pluginsWASM and Python/Lua pluginsPlugins
templatesTemplate packs and entity templatesTemplates
rulesAI generation rule setsRules
skillsAI agent skillsSkills
schemasEntity schemasSchemas
layoutsUI layout definitionsLayouts

Source Filtering

The source parameter controls which content is shown:

  • all (default) — Show both official and community content
  • official — Only content maintained by Biloxi Studios (marked with a checkmark badge)
  • community — Third-party content submitted by the developer community

Official content is curated and tested by the StudioBrain team. Community content is submitted via PR and reviewed before being added to the catalog.

Next Steps