We’re building a dll plugin that has runtime dependencies on two other dlls. Following what seems to be a common convention, we put the dll files into the Plugins\MyPlugin\Binaries\ThirdParty\Win64
folder. In the CPP code, we load our dll using FPlatformProcess::GetDllHandle
. This doesn’t work at runtime because Unreal can’t find the two dependent dlls, even though they’re in the same folder. I tried adding the folder to both PrivateRuntimeLibraryPaths
and PublicRuntimeLibraryPaths
, but I don’t see the path name show up in the long list of “Looked In” folders.
Note that this does work if we put the dlls into Plugins\MyPlugin\Binaries\Win64
folder. We can just move forward with this, but I’d like to understand if this is the intended behaviour of PrivateRuntimeLibraryPaths
or PublicRuntimeLibraryPaths
and, if so, what we might be doing wrong here. If not, what is the correct way to add a folder to the list of folders that Unreal will “look in” when trying to load a dll?