Plugin with 2 or more modules, 1 of which extending UObject

Hi,

With UE 4.4, I have copied the example UPluginObject in a new empty project and simply changed its name. The plugin is named PluginName and the module ModuleName. I updated PluginName.uplugin, ModuleName.Build.cs, IModuleName.h, ModuleNamePrivatePCH.h, ModuleName.cpp, MyPluginObjectTest.cpp and MyPluginObjectTest.h accordingly. Apparently, the ModuleName module isn’t generated :

ERROR: System.IO.DirectoryNotFoundException: Could not find a part of the path '<Path>\Intermediate\Build\Win64\Inc\Plugins\ModuleName\ModuleName.generated.cpp'.

Over the last week, I tried all I could think of to make it work. I have erased Intermediate and Binaries and regenerated VS files numerous times. I have tried using only the Public folder instead of Class/Private/Public. Using the same name for the plugin and the module.

I’ve been very careful to include the .generated.h and the UCLASS(), GENERATED_UCLASS_BODY() when extending UObject.

It built once with the name UPluginObjectTest for both plugin and module, but I haven’t been able to reproduce that success. I have been able to extend that UPluginObjectTest plugin with new USomething derived class and it also work when I discard the Binaries or when I copy UPluginObjectTest module in another plugin. But for somereason changing UPluginObjectTest to another name doesn’t work.

It also worked when I copied the Substance plugin in the installed Plugins folder. But when I change the plugin name and/or module names, I get the same IO error.

Finally I tried to convert from 4.4 to 4.5, and here we go again :

The project failed to compile with this version of the engine. Build output is as follows:

Running M:/Work/Dev/UE4/UnrealEngine/Unreal Engine/4.5/Engine/Binaries/DotNET/UnrealBuildTool.exe MyProject Development Win64 -project="<Path>/MyProject.uproject" -rocket -editorrecompile -progress Parsing headers for MyProjectEditor Reflection code generated for MyProjectEditor ERROR: System.IO.DirectoryNotFoundException: Could not find a part of the path '<Path>\MyProject\Intermediate\Build\Win64\Inc\Plugins\ModuleName'. at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath) at System.IO.FileSystemEnumerableIterator`1.CommonInit() at System.IO.FileSystemEnumerableIterator`1..ctor(String path, String originalUserPath, String searchPattern, SearchOption searchOption, SearchResultHandler`1 resultHandler, Boolean checkHost) at System.IO.Directory.InternalGetFileDirectoryNames(String path, String userPathOriginal, String searchPattern, Boolean includeFiles, Boolean includeDirs, SearchOption searchOption, Boolean checkHost) at System.IO.Directory.InternalGetFiles(String path, String searchPattern, SearchOption searchOption) at UnrealBuildTool.UEBuildModuleCPP.Compile(CPPEnvironment GlobalCompileEnvironment, CPPEnvironment CompileEnvironment, Boolean bCompileMonolithic) at UnrealBuildTool.UEBuildBinaryCPP.Build(IUEToolChain TargetToolChain, CPPEnvironment CompileEnvironment, LinkEnvironment LinkEnvironment) at UnrealBuildTool.UEBuildTarget.Build(IUEToolChain TargetToolChain, List`1& OutputItems, List`1& UObjectModules, String& EULAViolationWarning) at UnrealBuildTool.UnrealBuildTool.RunUBT(String[] Arguments)

For the record, I’m a technical game designer, not a programmer. My goal here is to make a plugin with 2 modules, one that will provide with new asset types and functionalities and the other that will provide editor(s) for the new asset types.

So what do I miss?

So far, I had the same problem with Unreal 4.5.
I’m about to test it with Unreal 4.6.

I would really appreciate an answer, thanks.