What DAWs use to differentiate plugins?

Yes I do confirm that it works… here is what I ended up doing:

#ifndef NDEBUG
static const ::Steinberg::FUID JambaTestPluginProcessorUID(0x1a410f8a, 0xbfb94a04, 0x9cf832e0, 0xd3f0e2ee);
static const ::Steinberg::FUID JambaTestPluginControllerUID(0xf831107a, 0x489b4284, 0xbe16d9db, 0xe12bb012);
#define stringPluginName "JambaTestPlugin_Debug"
#else
static const ::Steinberg::FUID JambaTestPluginProcessorUID(0xaa3926ff, 0x6d324b93, 0x80f3f867, 0x9545fa05);
static const ::Steinberg::FUID JambaTestPluginControllerUID(0xbe691f77, 0x73d04d92, 0x9ef55ad4, 0x4cc563c8);
#define stringPluginName "JambaTestPlugin"
#endif

BEGIN_FACTORY_DEF ("pongasoft",
                   "https://www.pongasoft.com",
                   "support@pongasoft.com")

    // JambaTestPluginProcessor processor
    DEF_CLASS2 (INLINE_UID_FROM_FUID(JambaTestPluginProcessorUID),
                PClassInfo::kManyInstances,  // cardinality
                kVstAudioEffectClass,        // the component category (do not changed this)
                stringPluginName,            // here the Plug-in name (to be changed)
                Vst::kDistributable,         // means that component and controller could be distributed on different computers
                Vst::PlugType::kFx,          // Subcategory for this Plug-in (to be changed)
                FULL_VERSION_STR,            // Plug-in version (to be changed)
                kVstVersionString,           // the VST 3 SDK version (do not changed this, use always this define)
                pongasoft::test::jamba::RT::JambaTestPluginProcessor::createInstance)  // function pointer called when this component should be instantiated

....

I end up using different IDs based on NDEBUG (Debug vs Release build) as well as a different name so that it can be differentiated in the list of plugins (which usually shows the name not the UIDs…)

Yan