Plugin Configuration
All plugins must include a mobro_plugin_config.json file, which defines essential metadata for proper functionality.
This configuration file must be placed in the root directory of the plugin when publishing it as a .zip file.
If this file is missing, the plugin is considered invalid and cannot be installed in MoBro.
Fields
The following table describes the fields of the mobro_plugin_config.json file:
| Field | Default | Restrictions | Description |
|---|---|---|---|
| name | - | Required Length: 3 - 128Pattern: ^[\w-]+$ | A globally unique name (ID) for the plugin. |
| displayName | name | - | A human-readable, visible name for the plugin. |
| author | Unknown | - | The author's name for the plugin. |
| description | - | - | A short textual description of the plugin. |
| assembly | Plugin.dll | - | The published .dll file to load. |
| localization | - | - | The relative path to the folder containing localization files. |
| executionMode | AdminBackground | UserSession OR AdminBackground | Determines the context in which the plugin process will run. |
| repository | - | - | The optional repository URL of the plugin if available. |
| homepage | - | - | The optional homepage URL of the plugin if available. |
| tags | [] | max. 10 | Optional list of tags used when published to the marketplace. |
settings | - | - | The plugin's configuration settings. |
executionMode Field
By default, a plugin runs in AdminBackground mode. In this mode, the plugin process is executed by the MoBro
background service, granting it administrative privileges. This is useful for tasks such as accessing system sensors.
However, plugins running in this mode do not have access to the user session due to Windows permission restrictions.
On the other hand, a plugin running in UserSession mode will start only when the MoBro application is running. The
plugin is executed by the MoBro application itself, providing it access to the user session. This is required in cases
where metrics, interactions, or specific actions depend on user session access.
Example Configuration
Below is an example of a mobro_plugin_config.json file from
the MoBroHardwareMonitor plugin.
This configuration demonstrates how to define the required fields, such as a unique plugin name, a custom assembly name,
and the localization directory.
Settings have been omitted for brevity; refer to In-depth: Settings for more details.
{
"name": "modbros_mobrohardwaremonitor",
"displayName": "MoBro Hardware Monitor",
"author": "ModBros",
"description": "A basic hardware monitoring plugin covering the most basic metrics",
"assembly": "Plugin.MoBroHardwareMonitor.dll",
"localization": "Resources/Localization",
"repository": "https://github.com/ModBros/mobro-plugin-mobrohardwaremonitor",
"homepage": null,
"tags": [
"hardware",
"system"
],
"settings": []
}