I asked a similar question before about a missing project DLL, but that was more about the UnrealBuildTool and got resolved. However, it seems that every project I work on in UE4 eventually gets to this state where I cannot even open the .uproject
file, and I decided once and for all to figure out the “correct” way to do things to make sure this never happens.
First off, I have the following project setup:
ParseProj/
├── Binaries/
│ └── Win64/
│ └── RocketEditor-ParseProj.dll
├── Intermediate/
├── Plugins/
│ └── ParsePlugin/
│ ├── Binaries/
│ │ └── Win64/
│ │ └── RocketEditor-ParsePlugin.dll
│ ├── Intermediate/
│ ├── Source/
│ │ └── ParsePlugin/
│ │ ├── Private/
│ │ ├── Classes/
│ │ ├── Public/
│ │ └── ParsePlugin.Build.cs
│ ├── Resources/
│ └── ParsePlugin.uplugin
├── Source/
│ ├── ParseProj/
│ │ ├── Private/
│ │ ├── Classes/
│ │ ├── Public/
│ │ ├── Resources/
│ │ └── ParseProj.Build.cs
│ ├── ParseProj.Target.cs
│ └── ParseProj.Target.cs
└── ParseProj.uproject
There are of course more directories and files like Cloud
, but I don’t think they’re relevant to this issue.
Suppose I have some code (both in the main ParseProj
and ParsePlugin
) that compiles correctly in Visual Studio using the Development Editor configuration. To perform a “clean build”, I:
- delete the
Binaries/
andIntermediate/
directories from both the main project and plugin subdirectory. - right-click
ParseProj.uproject
and select “Generate Visual Studio Files” - in Visual Studio, right-click my project in the Solution Explorer and select “Rebuild”
This succeeds with 0 errors. After compilation, I have RocketEditor-ParseProj.dll
and RocketEditor-ParsePlugin.dll
at the locations specified in the above tree.
Now I try to open my ParseProj.uproject
and get the following:
In my log, the following:
[0025.69][ 1]LogModuleManager:Warning: ModuleManager: Unable to load module '../../../../../Users/William/Documents/Rocket Projects/ParseProj/Binaries/Win64/RocketEditor-ParseProj.dll' because the file couldn't be loaded by the OS.
Note that this says nothing about the plugin DLL not being found, but I assume the log is being terse about the issue.
I have tried several things to resolve this issue, all to no avail:
- Using a different build configuration. As detailed in [another one of my questions][3], this causes
-Win64-Debug
to be added to file names and creates another issue altogether. So Development Editor is the way to go. - Moving
RocketEditor-ParsePlugin.dll
toParseProj/Binaries/Win64/
manually, which used to resolve this issue in a previous Rocket build (but which also didn’t make sense). This now causes the editor to rightly complain about duplicate DLLs.
So, apologies for the all-caps, but WHAT IS GOING ON HERE?
I’d like to be able to open my project so I can test my code. Please let me know how I can resolve this issue and prevent it from occurring again. If you need any of my files I will be happy to provide them on the Dropbox. Thanks in advance!