After simply updating from 4.25.1 → 4.25.2 I am now getting this error when I try to compile
CompilerResultsLog: ERROR: Expecting to find a type to be declared in a module rules named 'AdvancedSessions' in UE4Rules, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null. This type must derive from the 'ModuleRules' type defined by Unreal Build Tool.
This worked fine before, unticking the AdvancedSessions plugin in the plugins allows me to compile, but I need the plugin to be active like it was before.
Here is a workaround: Copy the plugin(s) from <Engine Directory>/Engine/Plugins/... to your project Plugins folder. It should pick the project plugin over the the engine plugin and compile it as normal.
I don’t get it. Even when I move plugins from Engine folder to “[project]/Plugins” and compile fine… when I open UE4 Editor after this, my BPs are ■■■■ and the nodes (and components used in BPs) which were based on the engine plugins are not found red and editor says “not existing” anymore. Any idea how to fix this without rebuild everything?
Any advises beside simple “copy & paste” of plugins from folder to folder to make also BPs to compile fine again?
Also data assets based on engine plugins are simply not open in editor anymore.
Can someone explain a bit more? I get the same error for different plugins. Why this error occur now after the update? I would prefer to work with the plugins as launcher/engine plugins as I do at the moment. I like to have them directly updated.
Wow that is rough I know how it feels to have so much break right after an update. The “copy paste” solution unfortunately is all I know and verified works. I definitely didn’t run into your particular issue.
Did you also make sure the plugins are installed to your UE4 in the epic launcher? You can check it by clicking the “Installed Plugins” link below the engine you are using
. And double check that you added the plugins from the engine folder to your project folder and not the other way around or something. I could imagine either causing issues.
This wouldnt work. If you place plugin to projects folder it will not show that error but on build you will get " An item with the same key has already been added. Key: PluginName". If you go further and remove engines plugin, you will bypass this error but upon build you will get this error
I do not understand what gets broken in my project. Thanks for the new fix, I used it and I set back everything.
I moved all plugins back to Engine folder where they were stored before. Or installed them new.
Deleted everything in my project plugins folder. And still, I have broken references. Of course I deleted all Binaries/Intermediate folder and build all code new from scratch. Everything still compiles fine, error showing up when loading BPs (starting editor).
Still all references pointed to used engine plugins are invalid. I get a message “failed to load …” on the assets which use components/nodes form engine plugins. Even after reset everything. Also still “data assets” based on plugins can not load.
Would be really great, if someone could spent some short time and offer some help.
Just some examples:
Failed to load /Script/AdvancedThirdPersonCamera.ATPCCameraComponent Referenced by K2Node_CallFunction_73
Failed to load /Script/LowEntryExtendedStandardLibraryEditor.K2Node_LowEntry_LocalVariable Referenced by Get Widget Children (Recursive)
Failed to load /LowEntryExtStdLib/Blueprints/LowEntryExtendedStandardLibraryMacros.LowEntryAdvancedStandardMacros Referenced by Get Widget Children (Recursive)
Even when I click the “failed to load” links, Editor Content browser opens folder which have the “missing” components/classes inside. I do not get the problem. Everything is fine. Plugins are installed. I can move to the Plugin files in editor in content browser and everything is available and active. But still used references on places where I used the plugins throw errors.
Loosing 2 days of work and perhaps also some parts of my brain, I have partially fixed it but I can even not tell you why this is happening.
I am not totally noob understanding references, but it makes no sense for me,
As I said, on editor start, editor tolds me some blueprints “failed to load” some assets which referenced to plugins. The joking thing about that:
– Al referenced objects are active, available and even when clicking the links the editor shows on “Failed to load” assets, the link works and brings me directly to correct plugin folder.
– I could also could use all plugins without problems, just the “already used” references bring up “failed to load”.
– By checking “references” in very detail in reference viewer and copy and paste references from working and “failed to load” assets, the next joke about that was, that both references in viewer pointed to the exact same working path. → Both pointed to the exactly same path, to a working plugin, and one reference was working and the “older” reference was “failed to load”.
If some one will have the same issue:
… see next message (limit word reached)
uninstall plugins, go to Engine folder Engine\Plugins\Marketplace
make sure after install also
“compiled” inner folders are deleted
install plugins again
delete all known folder to recompile your c++ intermediate, binaries, .vs, saved… sln file
Build new VS files and recompile all
Still, having everything clear now, Editor still throw error on
editor start and load of asset start
go to assets in your content browser on which you use the “broken
references to plugins”
User “Asset Actions” → “Validate data and dependencies” (will show you
no error) and then “reload” (which
does reload from disk, and which
starts a short “actualize
references”).
Fixed the (none existing) referencing issue for me, I don’t not
why and I do not know why I get it. It seems UE4 saves “somewhere” some
information about references to plugins. And even when reference viewer is showing “fine” references, “something” can be corrupted.
→ But even after that, something is still corrupted. Restart editor, brings up failing to load messages again. And again I have to go to related BPs, click assets actions and “reload”… after that, asset compiles fine again (until editor restart). Perhaps with all this information some UE4 expert can tell what happens here and how to fix it persistent.
→ EDIT Cooking is also not working and brings up the same Errors I get before browsing to the asset and hit "asset actions → reload"
3 Days, and I got it fixed. Just want to leave a message for people who search for that problems at goole and find my text.
The bug in this thread from 4.25.2 had me totally misleading. As you see the bug was related to plugins, and by having the bug for myself directly after 4.25.2 update, I started to fix it by moving plugins folders and restart the engine. BUT … the error out of this thread, was not my real problem! That was just a ridiculous bad luck.
I made one day before changes in my pawn/character and used plugin content. I had NO error, everything was just fine in editor. Next day 4.25.2. comes out, I moved plugins, and restarted engine of course and crazy referencing errors on editor start were starting.
It seems to be the same “hard to understand behavior” its talked about here:
As I described above in detail, debugging was very hard, because …
… in editor all references was shown fine!
… c++ compiles without problems
… even a “asset actions → reload” fix the references, but only till next editor start
Problem is related to load order. My game mode at base a class C++ and it already assigned the BP pawn class in CPP. That’s ok in general, you can have C++ base classes and make enhancements to it in BPs which have CPP files as parent. Same here: Failed to load CableComponent - Programming & Scripting - Unreal Engine Forums
It’s also no problem to assign Blueprints in CPP classes, it’s general Ok.
This worked fine, until my pawn class starts using plugin classes. Because (as it seems) plugin content is loaded too late. CPP Game mode is accessed first, see the link to the BP pawn/character, tries to access pawn, which use plugin content, and you have the “failed to load”. I can reproduce it now easily after spending days to figure out.
So, When CPP files referencing BP files which use Plugin classes, your probably will face this issue.
My fix was simple, just so not assign “pawn/character BP” in CPP Game mode (similar to the code the guy do here Failed to load CableComponent - Programming & Scripting - Unreal Engine Forums ), and just do it “later” in child BP Game Mode. “Failed to load was gone”. If I change CPP back to assign the BP pawn/Character on CPP level, “failed to load” of plugin classes starts again. So I am very sure the load order is the problem, same as in the link above.