My Super Heroes plugin is not being loaded properly after published on Fab

I recently published my best product ever (Super Heroes plugin), however, the most random issue appeared.

After installing the plugin to the engine (any of them) and enabling it, the project crashes or the engine does not load the ‘MetaSound’ and ‘Niagara’ files properly. Sometimes, it loads everything perfectly.

The engine is ‘randomly’ selecting the ‘plugin order’ (list) to load. Then, my plugin is being loaded earlier than the ‘plugins’ that it needs. This strange error only happens when the plugin is installed directly to the engine. When placed in any project folder, it loads properly without any fail.

Can someone from the ‘Unreal Engine Team’ help me?

Plugin: Super Heroes | Fab

Sincerely, HighRender.

Consider adjusting the LoadingPhase order of your plugin and ensure it loads after all necessary dependencies. e.g.

“LoadingPhase”: “PostDefault”

Thanks for the reply. I really appreciate it.

My plugin is set to: ‘PreDefault’.
The Niagara and Metasound plugins are set to: ‘PreDefault’.
This is the issue. I can’t set it to an earlier ‘phase’ and not an ‘afterwards’ phase (because I created ‘actor components’ that are added to actor blueprints… so ‘Default’ and ‘PostDefault’ are not an option for me).

I attempted to manually ‘load’ the other plugins first but without success. Any idea of an possible solution? This weird bug only happens when the plugin is installed directly to the engine instead of the project folder.

There is a way to replace ‘LoadObject<>’ function with another one? The issue starts with it sometimes. However, it would not explain why the engine fails to load the ‘niagara and metasounds’ later when passing the initial loading of the project.

Sincerely, HighRender.

I would like to add that the ‘dependencies’ and ‘plugins needed’ are setup correctly. However, the engine refuses to obey it.

Waiting your reply.

Sincerely, HighRender.

I don’t think that makes any sense to be honest. You shouldn’t need to change the loading phase unless you are doing something very specific (e.g. Editor Modules, Loading Screens, etc.)

Engine-level plugins load earlier than project plugins, so you need to set module loading phases appropriately (PreLoadingScreen, Default, PostEngineInit), so dependent modules are initialized before your plugin’s modules.

This is the only solution I am aware of, and I have successfully implemented it multiple times.