What are a few good ways to access the same user created code from two different Plugins.

I am building two different plugins, which will be called Plugin A and Plugin B. As an example I have made a class that extends from FString (Any UE4 class, really) that is used in both Plugin A and Plugin B. What are a few good ways to do this?
I have tried:
Creating a third Plugin that is accessed from both Plugin A and Plugin B. This causes the editor to crash on load.
Writing the same code in both Plugins, this results in compile errors, even though the code is in separate modules.
Creating a new module that can link to both from the game folders. This also crashes at load time.
I am looking for functionality the same way that c# compiles class libraries that can be used in other class libraries, that then can be linked to the main game code. I have a few more ideas involving namespaces at this point, but the fact this is as nonintuitive as it is already warranted a post.


If Plugin B needs Plugin A to run, in Plugin A’s .uplugin file inside the “Modules”: […] body, set

"LoadingPhase": "PreDefault"

While in Plugin B’s .uplugin, set

"LoadingPhase": "Default"

Then it won’t crash and B plugin can run using A’s classes.

Awesome, using this suggestion and a separation of concerns involving modules yielded the desired result.
Thank you!