I am facing similar kind of issue, i am trying to establish two way communication between my native c++ plugin and uxp plugin. I have added listeners and senders but it is not working.
I am getting this error -
❌ [UXP-COMM] Failed to register UXP message listener: 1344357988 (0x50214664)
❌ [UXP-COMM] Error details: gPlugInRef=0x11fddd028, UXPMessageHandler=0x37b306550
and similar issue when i try to send message to uxp plugin.
void SendMessageToUXPPanel(const std::string& messageType, const std::string& data) {
if (!sUxpProcs) {
LOG_TRACE((0, "❌ [UXP-COMM] UXP suite not available"));
return;
}
try {
PIActionDescriptor desc;
SPErr err = sPSActionDescriptor->Make(&desc);
if (err != kSPNoError) {
LOG_TRACE((0, "❌ [UXP-COMM] Failed to create descriptor"));
return;
}
// Set message type and data
sPSActionDescriptor->PutString(desc, 'type', messageType.c_str());
sPSActionDescriptor->PutString(desc, 'data', data.c_str());
sPSActionDescriptor->PutString(desc, 'time', std::to_string(time(NULL)).c_str());
// Send to UXP panel
const char* UXP_PLUGIN_ID = "Test-v0qxnk"; // From your manifest.json
err = sUxpProcs->SendUXPMessage(gPlugInRef, UXP_PLUGIN_ID, desc);
if (err == kSPNoError) {
LOG_TRACE((0, "✅ [UXP-COMM] Message sent to UXP panel: %s", messageType.c_str()));
} else {
LOG_TRACE((0, "❌ [UXP-COMM] Failed to send message to UXP panel: %d", err));
}
// Clean up descriptor
sPSActionDescriptor->Free(desc);
}
catch (...) {
LOG_TRACE((0, "❌ [UXP-COMM] Exception in SendMessageToUXPPanel"));
}
}
if (sUxpProcs) {
LOG_TRACE((0, "🔍 [UXP-COMM] UXP suite acquired, registering message listener..."));
LOG_TRACE((0, "🔍 [UXP-COMM] gPlugInRef: %p, UXPMessageHandler: %p", gPlugInRef, UXPMessageHandler));
SPErr err = sUxpProcs->AddUXPMessageListener(gPlugInRef, UXPMessageHandler);
if (err == kSPNoError) {
LOG_TRACE((0, "✅ [UXP-COMM] UXP message listener registered successfully"));
} else {
LOG_TRACE((0, "❌ [UXP-COMM] Failed to register UXP message listener: %d (0x%x)", err, err));
LOG_TRACE((0, "❌ [UXP-COMM] Error details: gPlugInRef=%p, UXPMessageHandler=%p", gPlugInRef, UXPMessageHandler));
}
} else {
LOG_TRACE((0, "❌ [UXP-COMM] UXP suite not available for message listener (suiteErr: %d)", suiteErr));
}
In documentation, we don't have proper information regarding this feature, not sure what to do next.