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 - 128
Pattern: ^[\w-]+$
A globally unique name (ID) for the plugin.
displayNamename-A human-readable, visible name for the plugin.
authorUnknown-The author's name for the plugin.
description--A short textual description of the plugin.
assemblyPlugin.dll-The published .dll file to load.
localization--The relative path to the folder containing localization files.
executionModeAdminBackgroundUserSession OR AdminBackgroundDetermines the context in which the plugin process will run.
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.

Plugin.MoBroHardwareMonitor/mobro_plugin_config.json
{
"name": "modbros_mobrohardwaremonitor",
"displayName": "MoBro Hardware Monitor",
"author": "ModBros",
"description": null,
"assembly": "Plugin.MoBroHardwareMonitor.dll",
"localization": "Resources/Localization",
"settings": []
}