Win64 Package encounter's fatal error on start due to missing third party dll otherwise present in PIE

Solution!

I’ve resolved the fatal error on .exe startup! The problem came down to the dll’s needed to be beside the .exe (also running the .exe generated at {project_name}\Binaries\Win64, not the other one) and so within {ProjectCoreLibrary}.Build.cs I needed to change the section:

PublicDelayLoadDLLs.Add("{projectcore}.dll");
RuntimeDependencies.Add(Path.Combine(binFolder, "{projectcore}.dll")); // My third party DLL

to

PublicDelayLoadDLLs.Add("{projectcore}.dll");
RuntimeDependencies.Add(
    Path.Combine("$(BinaryOutputDir)", "{projectcore}.dll"),
    Path.Combine(binFolder, "{projectcore}.dll")
);

And including a RuntimeDependencies.Add(destination, source); for all the dll’s beside my {projectcore}.dll from the thirdparty build.

I initially had file lock issues that prevented the RuntimeDependencies.Add(destination, source); from packaging but those decided to arbitrarily disappear and I could package Win64 lol.

I can’t say with this in mind I understand how the PIE even works, somehow the editor just knows where the DLL’s are more loosely. While the packaged versions need to be more explicit.

Sources that helped

What helped was re-reading this blog post on third party dll’s.

And finding this forum post on the similar issue.

Hope these help anyone else!