I have my own custom plugin that I wrote for version 4.10.2. Last night I downloaded 4.11.2, converted the project, and regenerated the Visual Studio project file through the right-click shell menu, and recompiled my project.
However, when I run it, the 4.11.2 splash screen starts loading, and after a few seconds shows the dreaded “Plugin ‘XXXXX’ failed to load because module ‘XXX’ could not be loaded. There may be an operating system error or the module may not be properly set up.”
The log file says it could not load the module “because the file couldn’t be loaded by the OS.” I’ve checked the dependencies, and they’re all ok. Side-by-side starting with the same environment settings, the plugin in 4.10.2 works fine, but the same thing in 4.11.2 fails.
I’ve tried everything I can find online to fix the issue, and I’m at the point where I need help. What am I missing to get the plugin compiled for 4.11.2. I could try 4.12 too.
What plugin are you having trouble with? We recently had multiple reports from users about this message in tandem with the LeapMotionController plugin which was due to the plugin being changed to LeapMotion and the LeapMotionController folder never being deleted from their 4.11 installation. If that is the case, you should be able to delete that folder (4.11/Engine/Plugins/Runtime/LeapMotionController) and be good to go. Otherwise, let me know which plugin and we should be able to continue looking into this.
Sadly that didn’t work. LeapMotionController wasn’t in the PluginsRuntime directory to begin with.
The plugin is one that I’ve written myself to interface with an external system. It adds some Blueprint nodes and has an ActorComponent. But identical environments work ok with 4.10.2 and fails with 4.11.2. They both compile ok, I just get the Plugin failed to load.
From what I understand (I haven’t made a plugin myself… yet), you have to make changes to your plugin to have it updated for newer versions, as Substance releases new versions for each new version of the engine.
I could attempt to look into what is required for that, but I would suggest taking a look at once of the more popular plugins such as Substance on Github and looking at a diff between their repository for 4.10 and 4.11 to get an idea on what needs to be updated, if you’re not to find any general knowledge about the subject.
The diff for substance is huge between versions because it’s not just fixes for new engine difference but functionality changes. Do you have a suggestion for a plugin that is not as large?
The GitHub source control plugin may be better to look at. The diff isn’t too large but it did jump between quite a few versions, from 4.8 to 4.11 it seems. .com//UE4GitPlugin/compare/4.8
I solved my issue. I was linking to external libraries that were dlls. The directories with the dll files were in the system path, and Unreal version 4.10 would load them fine, but 4.11 and above wouldn’t. The solution is to copy the dll files into the Plugins/PLUGINNAME/Binaries/Win64 directory.