VST3 Plugin not recognized by Cubase

Hello,

the VSTi I’m developing (for Windows x64) works fine in almost any DAW - except Cubase (tested with Cubase 10, 13 & 14). After placing the .vst3 file in the VSTPlugin folder where all other VST3 plugins reside, my plugin is the only one that doesn’t appear in Cubase’s Plugin Manager.

Unfortunately, Cubase doesn’t tell me what is wrong. It simply refuses to include my plugin in Plugin Manager without showing any error message. Rescanning the plugin folders has no effect.

Now I’m wondering what is the reason for this. My plugin passes all the tests provided by VSTPluginTestHost.exe sucessfully. All other DAWs recognize my plugin inside the VSTPlugin folder as soon as the .vst3 is placed there, it is not necessary to put any additional files there.

Any hints to make my plugin work in Cubase are welcome. Thanks in advance.

Regards, Michael

The correct location for VST3 plug-ins are described on this page: Plug-in Locations - VST 3 Developer Portal
Make sure that you place your plug-in there.

Thanks for your reply.

Placing my plugin in any of the correct folders doesn’t solve the problem (its current location is %commonprogramfiles%\VST3, which is equivalent to the 2nd folder in the list). My plugin still isn’t recognized by Cubase. However, all other VST3 plugins placed in the very same folder are recognized. Other DAWs recognize all plugins including mine.

Any ideas?

Cubase uses an external process called vstscanner to check a plug-in. You can run it from the command line to see what happens. You find it in the Cubase installation folder under Components.

Thank you Arne, this is a valuable information.

I noticed that vstscanner.exe is also present in the VST3PluginTestHost folder. Can I use this one? I don’t have Cubase on my computer, the problem described in this thread occurred on a friend’s computer (who has Cubase 10, 13 & 14 installed. Unfortunately, he has no other DAW installed so we can’t test if my plugin works with other DAWs on his computer). However, plugin development takes place on my computer. It would be nice if I could use vstscanner.exe that came with VST3PluginTestHost rather than installing Cubase on my computer.

If vstscanner.exe of VST3PluginTestHost and of Cubase are equivalent, I wonder why VST3PluginTestHost.exe recognizes my plugin while Cubase does not.

JFTR: I compiled my plugin using compiler command /MT (Multithreaded) order to link the CRT libraries statically. I hope that my plugin doesn’t require the VC++ redistributables any more. If any component of my project still needs the CRT libraries and they are not present on the target machine: could this be a reason for my plugin not being recognized?

Regards,

Michael

Update:
this is the result of running vstscanner.exe that came with VST3PluginTestHost from a batch file (PD-20 is the name of my plugin, it is located in a subfolder with the same name):

E:\Projekte\VisualC++\VST3\PD-20\source>"C:\Program Files\Steinberg\VST3PluginTestHost\components\vstscanner" -p "C:\Program Files\Common Files\VST3\PD-20"
<?xml version="1.0" encoding="UTF-8"?>
<plugin><path>C:\Program Files\Common Files\VST3\PD-20</path><error>unknown error</error></plugin>

The weird thing is: vstscanner.exe produces the very same output with any plugin, not only with mine. Despite this output, VST3PluginTestHost.exe recognizes all VST3 plugins installed on my computer, mine as well as plugins from other vendors.

What is going wrong here? Does vstscanner.exe need other command line parameters? Why does my plugin work in VST3PluginTestHost.exe, but does not in Cubase?

Your plug-in must have the vst3 extension. So I would expect that you use C:\Program Files\Common Files\VST3\PD-20.vst3 as argument to the vstscanner.

Thank you, this helped a lot.
I misunderstood the -p parameter. I thought this was supposed to be a path to the VST3 folder (which contains all installed plugins). To avoid scanning of all installed plugins, I set the path to %commonprogramfiles%\VST3\PD-20, which is the path to the subfolder where my plugin is located.

Anyway, giving the complete path including the plugin file name gives other results:

E:\Projekte\VisualC++\VST3\PD-20\source>"C:\Program Files\Steinberg\VST3PluginTestHost\components\vstscanner" -p "C:\Program Files\Common Files\VST3\PD-20\PD-20.vst3"
<?xml version="1.0" encoding="UTF-8"?>
<plugin>
  <path>C:\Program Files\Common Files\VST3\PD-20\PD-20.vst3<path>
  <vendor>[my name]</vendor>
  <url>[my website]</url>
  <email>mailto:[my email address]</email>
  <flags>16</flags>
  <codesigned>false</codesigned>
</plugin>
<?xml version="1.0" encoding="UTF-8"?>
<classInfos>
  <class>
    <cid>58AE53D3983855C799C66E7184FE9DC4<cid>
    <cardinality>2147483647</cardinality>
    <category>Audio Module Class</category>
    <name>PD-20</name>
    <classFlags>1</classFlags>
    <subCategories>Instrument</subCategories>
    <vendor>[my name]</vendor>
    <version>1.0.0.0</version>
    <sdkVersion>VST 3.7.5</sdkVersion>
  </class>
  <class>
    <cid>43B5B86C387E5992A87DA1F5E591A8AC</cid>
    <cardinality>2147483647</cardinality>
    <category>Component Controller Class</category>
    <name>PD-20Controller</name>
    <classFlags>0</classFlags>
    <subCategories />
    <vendor>[my name]</vendor>
    <version>1.0.0.0</version>
    <sdkVersion>VST 3.7.5</sdkVersion>
  </class>
</classInfos>

Can you get a hint from this what causes the problem?

Regards,

Michael

Is this from your computer where you can instantiate your plug-in in the Plugintesthost? Because it looks as expected. As you said that this happens on a friends computer, you should instruct your friend to run the same command with the vstscanner coming with Cubase.

Thanks for your support.

Here are the results from my friend’s computer:

<?xml version="1.0" encoding="UTF-8"?>
<plugin>
  <path>C:\Program Files\Steinberg\VSTPlugins\PD-20.vst3</path>
  <vendor>[my name]</vendor>
  <url>[my website]</url>
  <email>mailto:[my email address]</email>
  <flags>16</flags>
  <codesigned>false</codesigned>
</plugin>
<?xml version="1.0" encoding="UTF-8"?>
<classInfos>
  <class>
    <cid>58AE53D3983855C799C66E7184FE9DC4</cid>
	<cardinality>2147483647</cardinality>
	<category>Audio Module Class</category>
	<name>PD-20</name>
	<classFlags>1</classFlags>
	<subCategories>Instrument</subCategories>
	<vendor>[my name]</vendor>
	<version>1.0.0.0</version>
	<sdkVersion>VST 3.7.5</sdkVersion>
  </class>
  <class>
    <cid>43B5B86C387E5992A87DA1F5E591A8AC</cid>
	<cardinality>2147483647</cardinality>
	<category>Component Controller Class</category>
	<name>PD-20Controller</name>
	<classFlags>0</classFlags>
	<subCategories />
	<vendor>[my name]</vendor>
	<version>1.0.0.0</version>
	<sdkVersion>VST 3.7.5</sdkVersion>
  </class>
</classInfos>

To me, this looks exactly like the the results from my pc, except the plugin path. But we tried other paths including %programcommonfiles%\VSTPlugins (like on my computer) with no success.

Can you tell what’s wrong?

Regards, Michael

Can you ask your friend to create a Plug-in Report?
Maybe the plug-in is just hidden?

And you really need to place the plug-in into the location according to the VST 3 specification: Plug-in Locations - VST 3 Developer Portal
The location C:\Program Files\Steinberg\VSTPlugins\ is wrong and Cubase won’t find it there.

Thank you. Didn’t expect you to work on Sundays :slightly_smiling_face:

If my plugin was hidden, it should appear in the block list, right? If yes: my plugin isn’t in the block list. We checked that. Nevertheless, I’ll ask my friend to create a plugin report.

We tried other paths for the plugin, including the one recommended by Steinberg (%commonprogramfiles%\VST3). It didn’t work. In addition, all other plugins located in C:\Program Files\Steinberg\VSTPlugins\ are recognized by Cubase (except the ones in the block list). I also don’t believe that Cubase doesn’t allow to register user-defined plugin paths.

Regards, Michael

Update: my friend sent my a plugin report. My plugin doesn’t appear in this report, a text search for “PD-20” had no results. However, all other plugins he has installed (VST2 & VST3) do appear. There are 2 plugins he intentionally put on the block list, but neither of them has anything to do with PD-20.

Next steps we’ll try: I’ll ask my friend to put my plugin in “C:\Program Files\Common Files\VST3” (the plugin path recommended by Steinberg) and to make sure that this path is included in the VST path list in Cubase’s plugin manager (we already tested this, but maybe we made a mistake). If that still doesn’t work, I’ll install a Cubase trial on my computer in order to find out if my plugin is recognized. If yes, this could mean that there is something on my computer my plugin needs to run which isn’t present on my friend’s computer. A suspect for this might be a component of the Visual Studio 2022 developping environment. But I already tested my plugin on a computer without VS 2022, it worked. In addition, my friend tried to install the VC redistributables for VC 2022, getting the message that they are already installed.

Anyway: whenever this has noticeable results, I’ll post them here.

Regards, Michael

Update: Problem solved :slightly_smiling_face:

@Arne_Scheffler You were right, Cubase actually expects VST3 plugins to be located in %commonprogramfiles%\VST3. Very strange: Cubase allows registering of user-defined plugin paths, but only for VST2 plugins, not for VST3 plugins. I do not remember any other professional DAW that has such a restriction.

There was a simple reason why all other VST3 plugins on my friend’s computer appear in Cubase’s plugin manager while mine did not: it turned out that all the .vst3 files except mine exist twice on his computer. When analyzing the plugin report, I noticed that among the VST3 plugins listed in the report there was not a single one located in %programfiles%\Steinberg\VSTPlugins. The report only lists VST3 plugins located in %commonprogramfiles%\VST3. Obviously my friend installed his plugins in both folders without telling me that (probably he didn’t remember). That was really confusing, because it made me think that Cubase was able to load VST3 plugins located in %programfiles%\Steinberg\VSTPlugins. Actually, it loads only VST2 plugins (.dll files) located in this folder, while it ignores the .vst3 files located there. It took a while for me to find out, though.

I appreciate your help, though. Next time I’ll know better. Also I’m glad that my plugin finally turned out to be Cubase compatible. Thank you very much!

Regards, Michael