Installing Plugins

Plugins are not part of the application. Nothing is preinstalled: you pick the plugins you need from the store built into the app and install them on demand. Both parser plugins (read a game's bindings) and output plugins (do something with your exported diagrams) work this way.

Because plugins are separate downloads, they also update separately. A parser fix for a game patch reaches you as soon as it is published, without waiting for the next Joystick Diagrams release. Your installed plugins and their settings survive app updates.

Install from the Store

  1. Open Settings → Plugins.
  2. Browse the store. It lists all 8 published plugins with their version, author, and whether they are signed.
  3. Click Install on the one you want. The app downloads it, verifies the archive against the published checksum, and unpacks it.
  4. Configure it on the same page. Most parser plugins just need pointing at a folder or file.

The store reads its catalogue from joystick-diagrams.com/plugins_manifest.json, so newly published plugins appear without an app update. The Plugins page is generated from the same file.

Updating a Plugin

When a newer version of an installed plugin is published, the store flags it and offers an Update button. Updates are per plugin, so you can take a parser fix without touching anything else. Your plugin settings are carried across.

Manual Install

The store is the normal route. Manual installs are for working offline, testing a build a developer sent you, or iterating on a plugin you are writing yourself.

From a Zip

  1. Open Settings → Plugins.
  2. Click Install from File and select the .zip.
  3. Joystick Diagrams validates the archive, extracts it, and lists the plugin ready to configure.

By Folder

If you would rather manage plugin files yourself, drop them straight into the plugins folder. Click Open Plugins Folder in Settings, or go there directly:

  • %APPDATA%\Roaming\Joystick Diagrams\parser_plugins\
  • %APPDATA%\Roaming\Joystick Diagrams\output_plugins\

Each plugin is a subfolder with an __init__.py and main.py. Restart the application after copying files in. Plugins added this way are not tracked by the store, so they will not show update prompts.

Plugin Trust & Signing

Plugins run arbitrary Python in the same process as Joystick Diagrams, so there is a signing and trust model to keep you safe. Plugins fall into three states:

Signed & Verified

Ships with a plugin.sig file signed by the Joystick Diagrams developer key. Runs without prompting.

Unsigned

No signature file, or the signature didn't verify. A trust dialog is shown on first use; you choose whether to run it.

Trusted

An unsigned plugin you've approved. The decision is remembered so you're not prompted again.

Being in the store is not the same as being signed. Community plugins are listed on their author's reputation, and the store shows you which are signed before you install anything.

Only run plugins you trust. Plugins have the same access to your system as Joystick Diagrams itself. If you didn't get a plugin from the store or from its original author (GitHub repo, Discord, or a site you recognise), don't approve it in the trust dialog.

Uninstalling a Plugin

Every plugin can be removed. On the Settings page, click the trash icon on the plugin's card to delete its files. Your configured settings are preserved, so if you reinstall later, your last configuration is restored.

If you want to keep a plugin but stop it running, disable it instead of removing it.