Building your first UXP plugin

This tutorial will walk you through building your very first UXP plugin. You will learn to scaffold one from an existing template, customize it, and run it in Premiere.

Prerequisites

Before you start, make sure you have the following software installed on your machine:

Enable Developer Mode

Development Workflow

1. Scaffold your Plugin

The UXP Developer Tool (UDT) provides a quick way to scaffold your plugin project from a set of starter templates. Open the UDT and click Create Plugin.

UXP Developer Tool - Create Plugin

A dialog appears, allowing you to set the project details:

UXP Developer Tool - Create Plugin Dialog

Please enter the following information:

FieldValue
Name
My first UXP Plugin
Plugin ID
Leave it as is
Host Application
Adobe Premiere
Host Application Version
25.6
Template
premierepro-quick-starter

Then click Select Folder and choose a location on your computer where you want to scaffold the plugin. The UXP Developer Tool will create a new folder named after the Plugin ID in the desired location. The folder will contain the following files:

Copied to your clipboard
Test-fm0dom
├── manifest.json 🔧 Plugin configuration
├── index.html 🌐 User Interface
├── index.js 💻 Logic
└── README.md 📝 Documentation

2. Test in Premiere

Now that you have scaffolded your plugin, you can load it in Premiere. Make sure the application is running and the UXP Developer Tool is connected to it; it should appear in the left pane.

In UDT, click Load & Watch in your plugin's row:

UXP Developer Tool - Load & Watch

This shortcut is for the Load and Watch actions, which you can perform separately. The result will be the same; the plugin will be loaded in Premiere, and UDT will watch for changes in the plugin's source code and reload it automatically.

Premiere - Loaded Plugin

3. Edit the plugin's UI

Now that your plugin is running in Premiere, let's make it your own. Open the index.html file in your code editor. This file contains the HTML code that defines the visual content of your plugin's panel.

Copied to your clipboard
<!DOCTYPE html>
<html>
<head>
<script src="main.js"></script>
<link rel="stylesheet" href="style.css" />
</head>
<body>
<h4>Application Info</h4>
<div class="main-div">
<sp-body id="plugin-body"> </sp-body>
</div>
<footer>
<sp-button id="btnPopulate">Populate Application Info</sp-button>
<sp-button id="clear-btn">Clear Application Info</sp-button>
</footer>
</body>
</html>

Let's change the heading to something slightly different:

Copied to your clipboard
<body>
<h4>Premiere - Application Info</h4>

Thanks to the Watch & Reload feature, the changes will be automatically reflected in the host application—see the new heading in the plugin's panel below.

Premiere - Updated Plugin

4. Test the plugin's logic

Now let's check what this UXP plugin can do. Open a sample project in Premiere; if you don't have one, go to the Window > Learn menu and download a sample from the Tutorials section.

Now click the Populate Application Info button in the plugin's panel.

Premiere - Populate Application Info

The plugin will fetch the active project and sequence information and display it in the panel. The implementation lives in the index.js file, and it uses the Premiere APIs to fetch the information. You can open the file and explore the code to see how it works.

Next steps

Congratulations! You have successfully created your first plugin. Next, we'll take a look at some of the concepts that are important for UXP plugin development.

Next steps

  • Privacy
  • Terms of Use
  • Do not sell or share my personal information
  • AdChoices
Copyright © 2025 Adobe. All rights reserved.