Binary Compressed Save System, Save Entire Dynamically Generated Worlds! ♥ Rama

Well having any circular reference should be avoided. It can work but is not optimal. A few things that can go wrong is:

  • You can’t use static linking
  • cant use dependency injection
  • Can cause simple recursive algorithms to crash. (serialization might have this issue in UE4 I haven’t dug too deep into it)
  • If you do have a working circular reference and you need to recompile a class it increases compile time because it forces you to recompile both classes
  • They are generally confusing when debugging.

Essentially just avoid them if you can and the benefits speak for themselves. I remember Epic was battling Blueprint circular links back around 4.12 or something. Might want to look into what they did there.