Plugin Marketplace
Install, reuse, fork, and share plugins across projects.
Overview
MP4E plugins can come from multiple sources: core/built-ins, your custom plugins, imported plugin files, and a marketplace API. Studio treats them all as the same plugin model at render time.
Plugin Sources
| Prop | Type | Default | Description |
|---|---|---|---|
created | Plugin source | - | Made in your workspace. Fully editable. |
imported | Plugin source | - | Installed from a portable plugin export file. |
marketplace | Plugin source | - | Fetched from the Marketplace API. |
forked | Plugin source | - | Editable fork of an installed/marketplace plugin. |
Install & Use Marketplace Plugins
Marketplace plugins are identified by a type string using namespace:type.
1// Marketplace plugin type strings use the namespace:type format:2// Examples:3"mp4e:button"4"shopify:product-card"5"stripe:checkout"Forking Marketplace Plugins
Forking creates an editable copy while preserving attribution and origin metadata. It’s the recommended path when you want to customize a marketplace plugin for your brand or workflow.
Export / Import (Portable Plugin Files)
Plugins can be exported as a portable JSON file. Importing validates integrity via a content hash and assigns a new plugin ID to avoid collisions.
1// Portable plugin export format (PluginExportFormat v1.0)2{3 "formatVersion": "1.0",4 "exportedAt": "2025-12-13T12:00:00.000Z",5 "contentHash": "ab12cd34",6 "plugin": {7 "id": "plugin_...",8 "name": "My Plugin",9 "category": "overlay",10 "content": { "html": "...", "css": "...", "script": "..." },11 "defaultConfig": { /* ... */ },12 "events": { /* ... */ },13 "version": "1.2.3",14 "source": "created"15 }16}How Plugins Appear in Metadata
For portability, projects commonly embed plugin definitions directly in metadata:
1{2 "plugins": {3 "acme:checkout-modal": {4 "id": "acme:checkout-modal",5 "name": "Checkout Modal",6 "category": "modal",7 "source": "created",8 "content": { "html": "...", "css": "...", "script": "..." }9 },10 "mp4e:product-card": {11 "id": "mp4e:product-card",12 "name": "Product Card",13 "category": "object-display",14 "source": "marketplace",15 "content": { "html": "...", "css": "...", "script": "..." }16 }17 }18}Runtime Resolution
At runtime, the player resolves plugin content from the metadata registries (custom + marketplace). Studio uses the Marketplace API for discovery, but the MP4E experience itself can remain self-contained once exported.