The original version of this document is located at https://docs.qfield.org/how-to/advanced-how-tos/plugins
QField includes a QML/Javascript plugin framework to extend application capabilities and script custom field workflows.
QField supports two plugin deployment types:
Note
QField will display a permission dialog before activating a plugin, allowing you to grant or deny execution permissions for individual plugins.
Project-specific plugins deploy as sidecar .qml files stored in the same directory as the QGIS project file.
The QML plugin file name must match the QGIS project file name exactly.
For example, if your project file is named tree_inventory.qgz, the main QML plugin file must be named tree_inventory.qml.
Workflow
Deploying via QFieldCloud:
.qml plugin file to your local cloud project folder on your desktop computer.For non-cloud projects, refer to the Storage Access Documentation to transfer project files and .qml sidecar files onto mobile devices.
📱 Fieldwork
Application plugins install globally inside QField from zip archive URLs or community repositories.
Workflow

To build custom QML and JavaScript plugins for QField, refer to the official QField API Documentation and the community Plugins Reference.