How to support plugin data of paid and free model of UXP plugin

I have existing plugins and they store data on the sceneNode.pluginData property. I have since made paid versions of the plugins. But if the user uses the free version and saves data to pluginData and then upgrades to the paid model the paid plugin will not be able to read or modify the free plugin pluginData.

I know there is the sharedData property but that doesn’t fix the issue because the paid plugin still can’t read the free plugins pluginData. It can read the sharedData key value pair but not modify it.

Is there a way that the paid version(s) and free version of a plugin can share the same pluginData?

If I make a third listing for a plugin the problem is worse.

I would have pluginData on three separate areas:

  • free
  • paid (one time)
  • subscription (yearly subscription)

None of the same exact plugins can talk to each other or read the shared data.

At the risk of hijacking @Velara’s thread (sorry!)

There’s a very similar issue (at least for Photoshop, not sure about XD) when the user upgrades from one version of Photoshop to the next major version (e.g. 24 to 25, or 25 to 26). It would appear that a plugin running in the later version won’t be able to access any files stored in plugindata or plugintemp, or using the persistent storage models, that the same plugin saved when running under an older major version.

I’d love to be told I’m wrong, or that there’s a way around this …

1 Like