DLL Not Found Despite Specific Inclusion

Hi,

I’ve read a lot of the questions regarding Unreal plugins, DLLs, etc, but nothing that seems to solve this issue I’m seeing.

Basically, I have a 3rd party plugin that requires two DLLs at runtime, but only one is directly referenced by the plugin. The problem I then end up having is that the other DLL is not found at runtime and crashes. The only solution I’ve found to this so far is manually copying the DLL into C:\Program Files (x86)\Epic Games\4.12\Engine\Binaries\Win64. Then everything runs fine.

So, my question is, isn’t there a way to get Unreal’s build system to automatically include the extra DLL?

Here’s my setup:

Created a Third Party Plugin from example. It’s of type “Developer”.

From my Build.cs file:

PrivateIncludePaths.AddRange(
	new string[] {
		"MyPlugin/Private",
		Path.Combine(ThirdPartyPath, "MyPlugin", "include"),

PublicDelayLoadDLLs.Add(Path.Combine(MyPluginDirectory, "common.dll"));
PublicDelayLoadDLLs.Add(Path.Combine(MyPluginDirectory, "directlyused.dll"));

PublicAdditionalLibraries.Add(Path.Combine(MyPluginDirectory, "directlyused.lib"));

From my Plugin::StartupModule:

CommonDLLHandle = FPlatformProcess::GetDllHandle(*CommonPath);
MainDLLHandle = FPlatformProcess::GetDllHandle(*MainPath);

Again, everything works as long as I manually copy the .dll’s alongside the .exe. But surely there’s a way to do that within my own project folder?!

Oh, I should also mention that putting the .dll in MyProject/Binaries/Win64 or MyProject/Plugins/MyPlugin/Binaries/Win64 do nothing.

I have exactly the same problem. Did you find any solution on that problem ?