When I set “Type = ModuleType.External” inside of the plugin’s build.cs file,
on build, there is an error: “‘Plugin’ is not a C++ module (referenced via default plugins → Plugin.uplugin)”
I am using the plugin for including third party include directories.
This instructs us to add a Type = ModuleType.External; statement in the build file’s constructor. With that statement, builds fail with the error posted previously “‘Plugin’ is not a C++ module (reference via default plugins → Plugin.uplugin)”
If I remove the Type assignment, I instead get an unresolved external error when trying to link against the dll for the plugin.
If others have a solution to this build configuration challenge, I’d love to hear it. I’m now looking at the example third party library plugin generated from the plugins panel and will try replicating its configuration (so there is both a dll-generating plugin and a third-party build within the plugin structure).
Hi I am late to the conversation, but I was running into this issue as well. The way I solved it was removing the module name from the .uproject or .uplugin file (in my case, and in the ops case it was in a .uplugin file). After this unreal correctly links with the third-party library and does not complain about the “is not a C++ module” anymore.
This fixed things for me, too! I also needed to add a reference to the module within the *.build.cs file(s) that used it for it to work. Got hung up on that for a bit.