Can we use one UXP plugin for both InDesign and Photoshop?

Hi all,
I am developing a UXP plugin for InDesign app and I want to use same plugin for Photoshop as well. Can we do this if yes then how?

Easily? No, stuff can’t be shared because:

  1. Each UXP plug-in needs it’s own manifest file with details on the plug-in’s id and application requirement.
  2. Manifest files must be named manifest.json
  3. The plug-in can’t contain anything from folders outside the folder that holds the manifest.json file. Internal folders are fine, just not exterior folders.

The best, that I’m aware of, would be to develop the equivalent of a library of code and then use WebPack (or equivalents) to copy the shared code to each plug-in’s root folder holding the manifest file.

jsw

Well the manifest schema definitions says that host property can also be an array and each host item can have its own entrypoints. But in reality this is not yet implemented or supported in any host app known to me. Maybe in future version of manifest or UXP.

What you can do is to make single code base… add condition if/else based on host app. And then setup webpack to place different manifest file into bundle.

1 Like

In 2024 is this still the case? I’ve noticed the same—that the host property can be an array—but it seems that I can only have one host installed at a time in the Creative Cloud-app. Thanks in advance!

The plugin created with the template @swc-uxp-wrappers/create-swc-uxp-react-app has an array of host and Photoshop and InDesign are specified.

Then, when I try it with 2025 for Photoshop and InDesign respectively, the plugin actually loads and the panel appears. It seems to work with both, at least if using UXP8 and loading with Adobe UXP Developer Tools.

Not sure about installing with CCX files or publishing on Marketplace as I haven’t tried that.

1 Like

Thanks for your response!

Yes, I can use the same codebase and manifest.json with hosts as an array during development. However, when exporting, it seems there’s no option to create a “unified” plugin. Instead, the plugin appears as two separate entries, and you can run “Package” for each, resulting in two .ccx files. However, unless the plugin IDs are different, you can’t have the exported plugins installed in both Photoshop and InDesign simultaneously. It seems the IDs need to be unique for each host.

2 Likes

I understand now. It would certainly be nice to merge them into one, but unclear how to do it.

I went ahead and published the plugins yesterday, and it seems you have to choose a specific app when creating a new listing. From what I understand, a unified UXP plugin doesn’t seem to be possible on the marketplace at the moment.

1 Like