Getting Started with CRDT for UXP/UXPScript

This guide will walk you through the process of setting up Creative Developer Tools (CRDT) for UXP (Unified Extensibility Platform) and UXPScript development.

CRDT_UXP, the version of CRDT designed for UXP and UXPScript, provides a range of features to simplify the development, packaging, and licensing of your plugins and scripts.

You need a registered developer account. If you haven’t created one yet, use PluginInstaller to register.

https://PluginInstaller.com

Step 1: Download CRDT_UXP

Download the latest version of CRDT_UXP from the following link:

CreativeDeveloperTools_UXP.0.1.1.zip

Step 2: Set up your development environment

  1. Extract the downloaded .zip file to a location of your choice.
  2. Open your preferred development environment (e.g., Visual Studio Code, Adobe UXP Developer Tool).
  3. Create a new UXP plugin project or open an existing one.

Step 3: Include CRDT_UXP in your project

Copy the crdtuxp.js file from the extracted ZIP file somewhere into your project’s directory.

In your UXP plugin’s .js file(s), add a line similar to the following at the top to import the CRDT_UXP module:

const crdtuxp = require("./crdtuxp");

Step 4: Launch the CRDT daemon

CRDT_UXP requires a daemon process to be running in the background.

To launch the daemon, open PluginInstaller and navigate to the Preferences window.
Check the option Launch daemon for Creative Developer Tools when PluginInstaller starts.
If the daemon was not yet running, ticking the checkbox will launch it.

Step 5: Try Out the Sample Plugin (optional)

  • Open the sample folder located in the root of the unzipped download.
  • Review the code to understand how CRDT_UXP is integrated and how to use its features.
  • If you have a paid developer license, uncomment the setIssuer line in main.js and replace the placeholders with your developer GUID and email.
  • Use the Adobe UXP Developer Tool to load the sample plugin into your host application (e.g., Photoshop, InDesign) and test its functionality.