Well, in c++ this is easily solved with forward declarations.
In my opinion, when something can be solved that easily, the circular issue is not actually bad.
Ok, maybe a small â â â â â of light at the end of the tunnel.
So my BP-a can just have an actor reference and call the interface on BP-b, even though it doesnât know what it is.
But now, just about everything in my project is an actor, surely thatâs worse, thereâs more possible ways to create dependencies ( across the whole project, not just between two BPs ). ???
Yes, almost everyting in everyoneâs projects are actors. But, they are children of actors. The same way a Pawn is an Actor with more stuff.
Your actors are also actors but with more stuff.
Take a look a this pic.
âRef2SomeActorâ is of type Actor, and because of that, like Tuerer said: " you donât call any class-specific functions" because you just canât, unless you cast, then you have access to any function you implemented in that BP.
Without the cast, you can only send interface messages or use any default functions that are available in every Actor, like âGetActorLocationâ.
Sorry, if my explanations doesnât make much sense. Iâm really bad in explain stuff extensively.
Itâs a lot easier to explain in code.
Yes, I get it - thanks 
Would be nice to find someone though ( maybe from Epic, or some real engine hacker ) who knows if it actually matters if you have symbiotic BPsâŚ
I donât want to spend weeks unpicking loads of code if it doesnât matter.
Itâs fine, I get it 
Unfortunately crashes with large size projects 
Contact the vendor, very responsive. They fixed a bug I found ( with a large project ).
