Linking Unreal Modules that depend on each other

I have 2 Unreal Modules in a plugin that depend on certain functionality for each other. Module A exports a class using the MACRO that is generated by Unreal. This class is consumed by Module B. Module B also exports 2 classes to be used by Module A.

In the build cs file of module A, I make Module B a public dependency. Similarly as well with Module B for module A.

My uplugin file has both of them loading phase as predefault.

Now I can successfully build the plugin, the problem is when I try to run it. It says that there is an error that may be the operating system of the module was not set correctly. I’m looking at the logs and I see that it can’t find the other module B’s dll.

When I put the dll in a path where it is searching, it crashes into another error saying its recreating an object outside of hot reload.

If I keep everything in module A, and export Module A’s functionality into Module B, it doesn’t complain and runs fine. What could be the issue here?