Skip to content

Quick Start

Build and install your first AMC plugin in five minutes.

1. Create the plugin folder

HelloPlugin/
├── plugin.json
└── src/
    └── HelloPluginUpperFlyView.qml

2. Write the metadata

Create plugin.json at the root:

{
    "name": "HelloPlugin",
    "apiVersion": "2.0",
    "description": "Hello world AMC plugin",
    "author": "Your Name",
    "copyright": "(c) 2026",
    "license": "MIT",
    "type": "qml"
}

3. Write the QML

Create src/HelloPluginUpperFlyView.qml. This file's name contains upperflyview, so AMC will display it in the upper area of the flight view.

import QtQuick
import QtQuick.Layouts

import QGroundControl
import QGroundControl.Controls
import QGroundControl.Palette
import QGroundControl.ScreenTools

Rectangle {
    width: label.width + ScreenTools.defaultFontPixelWidth * 2
    height: label.height + ScreenTools.defaultFontPixelWidth

    color: qgcPal.windowShade
    border.color: qgcPal.colorGreen
    border.width: 1
    radius: ScreenTools.defaultFontPixelWidth / 2

    QGCLabel {
        id: label
        anchors.centerIn: parent
        text: "Hello from my plugin!"
        font.pointSize: ScreenTools.mediumFontPointSize
        font.family: ScreenTools.demiboldFontFamily
        color: qgcPal.text
    }
}

4. Package the plugin

Create build.sh in the plugin root:

#!/bin/bash
PLUGIN_NAME="HelloPlugin"
zip -r "${PLUGIN_NAME}.plugin" plugin.json src/

Then run it:

chmod +x build.sh
./build.sh
cd HelloPlugin
zip -r HelloPlugin.plugin plugin.json src/

Both approaches produce HelloPlugin.plugin.

5. Install

Copy the .plugin file into the AMC Plugins directory:

cp HelloPlugin.plugin ~/Documents/"Auterion Mission Control"/Plugins/
cp HelloPlugin.plugin ~/Documents/"Auterion Mission Control"/Plugins/
Copy-Item HelloPlugin.plugin "$env:USERPROFILE\Documents\Auterion Mission Control\Plugins\"

Open AMC (or, if it's already running, the plugin loads automatically). Go to Settings > Plugins to verify your plugin appears.

What's next?

  • Add a Settings panel so users can configure your plugin -- see Hooks.
  • Add a Data singleton for shared state -- see Data Singleton.
  • Read vehicle telemetry -- see Vehicle API.