On Dec 5th, 2024, Adobe opened their public beta for UXP Plugins in Premiere Pro.
This moment has been long-awaited by Premiere plugin developers since UXP was originally announced by Adobe back in 2019 and has since made it’s way into Photoshop and InDesign, but there’s a few things you should know before diving in headlong.
UXP plugins panels are the new way for 3rd party developers to build plugin panels in Adobe applications in JavaScript, HTML, and CSS. UXP plugin panels will gradually replace CEP Extensions in Adobe apps on different timelines.
Photoshop was the first app to fully adopt UXP, InDesign followed, and now Premiere Pro is the next candidate with more to follow.
CEP Extensions are comprised of a JavaScript/HTML/CSS frontend built on Node.js + Chromium frontend (similar to NW.js) and an ExtendScript backend for interacting with the host application.
UXP Plugins are also JavaScript/HTML/CSS based, however they are built on their own unique stack by Adobe which makes them far less resource heavy than CEP’s Node.js + Chromium stack. Additionally instead of a JavaScript frontend and ExtendScript backend like CEP, UXP has 1 unified environment for your frontend code and host API calls, minimizing friction back and forth.
Additionally, UXP has the unique ability of including a C++ Hybrid plugin aspect to run computationally heavy tasks or interact with a host app’s C++ APIs directly from the plugin. Note that UXP Hybrid plugins are not yet implemented in Premiere Pro but will be in the future.
CEP and UXP each have their pros and cons, but the important thing to note is that UXP is replacing CEP so tracking with UXP updates is very important for all Adobe 3rd party developers.
One of the most common questions by developers and teams with their own custom plugins is how long will your existing CEP extensions keep working for until they’ll have to be updated to UXP.
We don’t have a clear answer on this from Adobe yet, but we’ve been assured that we should have “several years” to complete migration once UXP is out of beta and ready for general release.
If you don’t have time to beta test, why should you care about UXP at this point? In short, because it’s the future.
All of your CEP panels will have to be migrated to UXP at some point in the future and the sooner you can test UXP, report bugs, and request features you’ll need to migrate your tools, the more chance Adobe will be able to address these requests before the UXP main launch in Premiere Pro.
Testing UXP for how you’ll need to use it and providing feedback now will ensure that when CEP starts getting phased out, you’re not stuck waiting on a bug fix or new feature from Adobe to complete your migration. Your future self will thank you for getting started early.
Start migration, yes. Complete migration, probably not but maybe.
UXP in Premiere Pro is still in beta at this point, so there are lots of features / functions that that either don’t exist or don’t fully work as needed, so depending on what features your plugin needs will dictate weather or not a full migration from CEP will be possible at this time.
One additional thing to note is that, UXP is only available in Premiere Pro Beta, so only beta users will be able to use your panel if you start shipping a UXP Panel for Premiere Pro today. If you want to release your plugin before UXP goes to stable then you might have a hard time as most users aren't running Beta.
We do highly recommend you start looking at all of the Premiere Pro APIs your current extensions use (e.g. importing footage, adding clips to the timeline, exporting, etc) and test if those features exist and work as you need them to in UXP.
If you plan on releasing soon, CEP. If you don't plan on not releasing soon, then probably UXP. If you do go with CEP, still keep in mind the APIs you'll need for UXP.
This is a tough one as everyone wants to future proof their work, but the reality is if you’re building a new tool that you plan to ship in the near future, CEP is still the best way to do this.
Just like with migration, we would recommend you keep track of the APIs you’re using in CEP and test if those exist and work properly in UXP as you’re building out your tool so that your migration to UXP in the future will be as smooth as possible.
The easiest way to start building and testing UXP in Premiere Pro is with our framework Bolt UXP to build UXP Plugins Faster. With Bolt UXP, You can easily spin up a new panel, enable the Premiere Pro Beta option and start developing.
You will need the latest UDT (UXP Developer Tool) v2.1 installed on your machine and follow the docs provided by Adobe.
And we highly recommend you refrence this sample repo on how to achieve vairous tasks in the API to fill in the gaps of the docs.
Premiere Pro UXP has joined the new Adobe Developer forums so post any bug reports of feature requests for Premiere Pro UXP here for Adobe people to see and make sure to tag Premiere Pro:
Additionally, feel free to join other Adobe 3rd party developers on our Discord where we discuss Adobe plugin development of all forms.
Have questions on getting started? Reach out to the Hyper Brew team and we'd be happy to help!