Skip to content

Overview

What are AMC plugins?

AMC plugins extend Auterion Mission Control without modifying the core codebase. The plugin system supports QML plugins only: you write QML (and optionally JavaScript), add a metadata file, package everything into a .plugin archive, and drop it into the Plugins folder.

Key characteristics:

  • No compilation required -- plugins are pure QML/JS interpreted at runtime.
  • Hot-loadable -- add or remove a .plugin file while AMC is running. The app picks up the change without a restart.
  • Drag-and-drop deployment -- copy one file to install, delete it to uninstall.
  • Isolated -- each plugin runs in its own QML context with access to the AMC API.

How plugins work

When AMC starts (or when the Plugins folder changes), it scans for .plugin files. Each file is a ZIP archive containing QML source files and a plugin.json manifest.

AMC determines where to place each QML file by looking for hook names in the filename. For example, a file named MyPluginUpperFlyView.qml is recognized as an upper-fly-view widget because it contains the word upperflyview (case-insensitive).

MyPlugin.plugin (ZIP archive)
├── plugin.json              ← metadata
├── src/
│   ├── MyPluginData.qml     ← "data" hook → registered as singleton
│   ├── MyPluginSettings.qml ← "settings" hook → Settings page
│   └── MyPluginUpperFlyView.qml ← "upperflyview" hook → flight display
└── img/
    └── icon.svg             ← optional assets

Available hooks

Hook name Purpose
data Shared state singleton. Must use pragma Singleton.
settings Panel on the Settings page under Plugins.
upperflyview Widgets in the upper area of the flight display.
menuitembutton Button in the side menu drawer. Use PluginMenuItemButton as root element.
menuitemview Full view shown when the menu button is pressed. Paired with a button by naming convention.

See Hooks for detailed requirements and examples for each hook.

What you can access

Inside your QML files you have access to:

  • Vehicle telemetry -- position, altitude, speed, heading, battery, GPS, wind, and much more via the Vehicle object.
  • AMC UI components -- themed buttons, labels, combo boxes, switches, and layout utilities.
  • Global singletons -- QGroundControl, PluginManager, ScreenTools, and color palette.
  • Standard QML/JS -- XMLHttpRequest, Timer, Settings persistence, and the full Qt Quick library.

Next steps