Skip to content

Distributing the Plugin

Plugins can be distributed via the Logitech Marketplace and Loupedeck Marketplace to all other users.

Submitting a plugin to the Marketplace:

  • Please ensure you have tested the plugin properly with the supported hardware and software.
  • Ensure that your plugin complies with the Marketplace Approval Guidelines.
  • Ensure that the plugin icon is in the metadata/ -subfolder under the plugin folder.
  • Pack the plugin to the .lplug4 file. The instructions can be found below.
  • Deliver the plugin using the submission form at https://marketplace.logitech.com/contribute.

Packaging plugin to a .lplug4 file

A .lplug4 file is essentially a zip file with a specific format and a yaml-configuration file. The file format is registered with Logi Plugin Service and can be installed by double-clicking the file.

To create and to validate the package, use the Logi Plugin Tool, available at the Developer Page.

.lplug4 packaging information:

  • Please check that the metadata file matches the claimed operating system support.
  • Logi Plugin Service includes a package installer that does all the needed work to install the plugin to the Service Plugin directory and run all needed installation methods. To build it, use the Logi Plugin Tool. With the Plugin Tool you can both package and validate the plugin.
  • Recommended name for the .lplug4 package: pluginName_version.lplug4 example: SpotifyPremium_1_0.lplug4. ZIP archive must contain in the /metadata folder a loupedeckPackage.yaml file with plugin manifest in YAML format.

loupedeckPackage.yaml structure:

metadata/loupedeckPackage.yaml   -- Plugin manifest.
metadata/icon256x256.png         -- Plugin icon. This filename is searched by default.
win/       -- Binaries for Windows version of plugin, add only if Windows is supported.
mac/       -- Binaries for Mac version of plugin, add only if Mac is supported.
  • The YAML and the icon file are searched from the metadata/ folder of the .lplug4 package

  • The YAML manifest has the following format (the user-modifiable fields are in <> brackets)

type: plugin4
name: <Name of the plugin>
displayName: <Display name of the plugin>
version: <version string>
author: <author id>
copyright: <copyright>

supportedDevices: <Note if you support only one , remove another>
  - LoupedeckCt
  - LoupedeckLive

pluginFileName: <Plugin file name>
pluginFolderWin: <Folder for Windows binaries, add only if Windows is supported>
pluginFolderMac: <Folder for Mac binaries, add only if Mac is supported>

Mandatory fields:

  • type: use “plugin4” for plugins.
  • name: This is the unique ID for the plugin and cannot be changed after it's published in the marketplace. The field is limited to Latin small and capital letters, digits, underscore, and dash (regex: "[a-zA-Z0-9_-]+"). Note! the name cannot contain "Plugin" at the end.
  • displayName: Name that is shown in the Marketplace and in Options+ or Loupedeck software.
  • version: is major.minor[.build] Every part must be a decimal number. Examples: "1.0", "1.0.0", If you're delivering an updated version of the plugin, please ensure the version number is increased accordingly.
  • author: Name of the author that will be displayed in Marketplace.
  • supportPageUrl: Could be an URL of a support page or a "mailto:" link of an email address. For example, GitHub issues can be used here for getting feedback on the plugin. Examples: https://support.mycompany.com/f-a-q-support or mailto:foo@bar.com
  • license: Select a license under which you want to share the plugin. Please ensure that the selected license is compatible with Marketplace Developer License Agreement. One compatible option with the Marketplace is the MIT license: The MIT License | Open Source Initiative. Note: GPL licenses are not compatible with the Marketplace.
  • licenseUrl: URL to license.

Optional fields:

  • copyright: Author copyright.
  • supportedDevices: use “- LoupedeckCt” for Loupedeck CT (and/or) “- LoupedeckLive” for Loupedeck Live (and/or) "- RazerStreamControllerX" for Razer Stream Controller X. If you support only one, remove another.
  • homePageUrl: A link to a webpage, which has more information about the plugin.
  • icon256x256: optional custom path and name to an icon file in the package. By default, the icon is searched from the 'metadata/Icon256x256.png' file.
  • minimumLoupedeckVersion: Minimum Logi Plugin Service version that is required to run the plugin. The version is major.minor[.build] Every part must be a decimal number. Examples: "4.0", "4.0.0".

Here is an example LoupedeckPackage.yaml file for Spotify Premium plugin, which supports both Windows and Mac:

type: plugin4
name: SpotifyPremium
displayName: Spotify Premium
version: 1.0
author: Logitech
copyright: Logitech

supportedDevices:
  - LoupedeckCt
  - LoupedeckLive

pluginFileName: SpotifyPremiumPlugin.dll
pluginFolderWin: bin/win/
pluginFolderMac: bin/mac/

license: MIT
licenseUrl: https://opensource.org/licenses/MIT
homePageUrl: https://logitech.com
supportPageUrl: https://support.logitech.com/f-a-q-support