My main question is how to deal with circular dependencies in modules.
To accomplish my goal I had to extend core class (StaticMeshActor) with variables/methods of my own type. To do this I have created an interface inside new module. This module has public dependency on Engine module. But to extend the StaticMeshActor class I had to add the public dependency to Engine module on my own module. So after that we have circular dependency. It compiles and works great on Windows, but Linux compiler detects this and starts to fail. I have found CircularlyReferencedDependentModules variable but according to notes it’s only for legacy code (still it works, but spam warnings during compilation). So how should I deal with this problem? Or is it just a bad design on my side?