Skip to main content

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.

note

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:

FieldDefaultRestrictionsDescription
name-Required
Length: 3 - 32
Pattern: ^[\w-]+$
A globally unique name (ID) for the plugin.
displayNamenameMax length: 32A human-readable, visible name for the plugin.
authorUnknownMax length: 32The author's name for the plugin.
description-Max length: 512A short textual description of the plugin.
assemblyPlugin.dllMax length: 128The published .dll file to load.
localization-Max length: 128The relative path to the folder containing localization files.
executionModeAdminBackgroundUserSession OR AdminBackgroundDetermines the context in which the plugin process will run.
repository-Max length: 128The optional repository URL of the plugin if available.
homepage-Max length: 128The optional homepage URL of the plugin if available.
tags[]max. 10Optional list of tags used when published to the marketplace.
settings[]-The plugin's configuration settings.
dependencies[]max. 10The plugin's (external) dependencies.

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.

Plugins running in AdminBackground can also keep running in the background while the main MoBro application is not running or openend (depending on the 'Background Monitoring' setting in MoBro). This allows for continuous monitoring and data collection in the background even when the user is not actively using MoBro.

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.

dependencies Field

The dependencies field lets the plugin define external requirements.
This could be a dependency on a specific third party program that must be installed or running.

FieldTypeRestrictionsDescription
namestringRequired
Length: 1 - 64
Pattern: ^[\w-]+$
Unique identifier for the dependency.
labelstringRequired
Length: 1 - 128
Human-readable name for the dependency.
descriptionstringMax length: 256A short textual description of the dependency.
linkstringMax length: 256A URL to the dependency's homepage or download site.
versionstringMax length: 16The specific version of the dependency required.
requiredbooleanDefault: falseIf true, the plugin will not load without this installed.

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.

Plugin.MoBroHardwareMonitor/mobro_plugin_config.json
{
"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": []
}