UXP Workspace not persistent

,

A UXP hybrid panel (a plugin declaring a native .uxpaddon) is not restored into the workspace after Premiere restarts and when changing workspace and goint back. The panel entry is saved in the layout and the plugin is discovered normally, yet workspace restore does not re-instantiate it. The exact same plugin installed at a plain .../External/ path restores correctly. The only differentiator is the install path.

Environment

  • Premiere Pro 26.x (observed 26.0 and 26.3), macOS.
  • UXP hybrid plugin (manifestVersion 6, enableAddon + addon).
  • Installed via Adobe’s UnifiedPluginInstallerAgent (UPIA), which is what the aescripts Manager and the ZXP Installer call under the hood (confirmed by aescripts).

What we isolated (same plugin, one variable at a time)

addon install path persists
yes $systemPlugins/<username>/External/ NO
no $systemPlugins/<username>/External/ NO
no $localPlugins/External/ YES
yes $localPlugins/External/ YES

Plus a real all-users install: a non-hybrid plugin at $systemPlugins/External/ (plain, no <username>) persists.

So it is not the addon, not manifestVersion 6, not a plugin category. It is the install path. Only $systemPlugins/<username>/External/ fails to restore; plain .../External/ paths (user or all-users system) restore.

Why hybrids are affected
UPIA installs hybrids to $systemPlugins/<username>/External/ (elevated per-user placement of native code; the EMCL log shows CUxpHybridExtension and makeDirectory /Library/.../UXP/Plugins/<username>/External then “Trying again with elevated permission”). Non-hybrid all-users installs go to plain $systemPlugins/External/. So every hybrid installed via UPIA lands at the failing path.

Cleanest A/B (rules out the layout file and the registry as the cause)

  • In one saved workspace, a hybrid panel entry and a non-hybrid panel entry are byte-identical except the UXPPluginId value (both SaveViewStateWhenDestroyed=true, UXPExtensionType=panel, UXPPanelId=mainPanel, same flags). On reload, the plain-External one is restored and the <username>/External one is not.
  • In premierepro.json, the two entries are identical except the path value; both type:"uxp", status:"enabled".
  • The plugin appears in Window > UXP Plugins immediately at startup, so this is not a discovery or timing issue.

Conclusion: workspace restore reads two structurally identical entries, resolves each UXPPluginId to its install path, and fails to re-instantiate only the one whose path is $systemPlugins/<username>/External/. This points at path resolution during workspace restore, not at the saved layout or plugin discovery.

Repro

  1. Install a UXP hybrid panel via UPIA (it lands at .../UXP/Plugins/<username>/External/<id>).
  2. Open the panel, dock it, save the workspace.
  3. Quit and relaunch Premiere.
  4. The panel is not restored (you must reopen it via Window >UXP Plugins). A non-hybrid panel in the same workspace restores.

Ask
Please handle the $systemPlugins/<username>/External/ install path in workspace restore the same way plain .../External/ paths are handled. Since UPIA installs every hybrid to this path, no hybrid UXP panel currently persists in the workspace.

I can provide two minimal .ccx plus the exact registry and workspace XML snippets on request.

1 Like

@bbb_999 @CathyDong I can also confirm this issue. This will be a pretty important one to fix in the near future as more plugins are moving to UXP, also since Hybrid is required in most cases to fully migrate from CEP.

Thanks

1 Like

After further testing, even though the global directory is supposed to work, Premiere isn’t picking up panels there:

C:\Program Files\Common Files\Adobe\UXP\Plugins\<user>\External

Only the local directory works in Premiere at the moment:

C:\Users\<username>\AppData\Roaming\Adobe\UXP\Plugins\External

Upon further testing it is possible to manually install UXP plugins so they will be restored in workspaces by extracting a CCX here:

C:\Users\<username>\AppData\Roaming\Adobe\UXP\Plugins\External

and updating the JSON file here with the UXP Plugin info:
C:\Users\<username>\AppData\Roaming\Adobe\UXP\PluginsInfo\v1\premirepro.json

However, since manually installing this way bypasses UPIA it means the plugin does not show up in the Adobe CC app or the aescripts ZXP Installer so the user has no way to uninstall aside from manually deleting the files or for a dev to ship a custom uninstaller.

We’re going to need to wait for a proper fix on the Adobe-side to really solve this one.

1 Like

Thank you very much for this information. Hoping Adobe will solve this soon !