Skip to main content
Participating Frequently
October 30, 2025
Question

Direct Communication between CEP Panel UI and C++ Native Filter Plugin

  • October 30, 2025
  • 1 reply
  • 55 views

Hello everyone,

I am developing an Adobe extension where a CEP Panel acts as the UI for a C++ Native Filter/Plugin (e.g., in Photoshop or After Effects). I am currently seeking the best practice for direct communication between these two components.

The Goal: I need the CEP panel to send a specific command/data to the C++ filter when a user action occurs.

Example Scenario:

In the CEP Panel UI, the user selects an option, e.g., "Plan A".

The user clicks a "START" button on the CEP Panel.

Upon clicking "START", the CEP extension should notify the C++ filter to:

Receive the parameter "Plan A".

Initiate a data download from a local server (e.g., 127.0.0.1:8000) using the received parameter.

Current Approach (The Issue): Currently, I am only able to achieve communication by using a temporary intermediary file (e.g., the CEP panel writes the command to a JSON file, and the C++ plugin polls/reads this file). This method is inefficient and inelegant.

The Question: What is the recommended and most performant way to establish direct, real-time communication between a CEP Panel and a C++ Native Filter/Plugin?

Specifically, should I be focusing on:

a) ExternalObject (C++): Exposing C++ functions to the CEP JavaScript environment.

b) CEP Node.js Modules: Using a C++-based Node module to handle the native communication.

c) Other Adobe-specific API calls?

Any advice, code snippets, or pointers to relevant Adobe documentation would be greatly appreciated.

Thank you for your time and expertise!

1 reply

Genius
October 30, 2025

CEP is dead. You should switch to UXP instead.

Kacper3754701256qk
Participant
February 12, 2026

I’d love to, but how can you communicate with C++ Plugin from UXP?
UXP Hybrid plugins can’t use InDesign API, so they’re useless for me.

I am hopeless with finding a relatively modern way to do it...