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
.pluginfile 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
Vehicleobject. - 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,Settingspersistence, and the full Qt Quick library.
Next steps¶
- Quick Start -- build and install your first plugin in five minutes.
- Building & Deploying -- detailed packaging and deployment instructions.