Support for blueprint circular references

Hello,

Historically, circular references on blueprints have caused issues on our end. either crashes or other unwanted behavior.

We have added some code on our end to attempt to detect some circular references. but we haven’t caught every case and seems like quite the task for us to do that cleanup.
Over time, we have noticed there have been code fixes to prevent some editor crashes that occur because of circular references. So we are wondering what’s the current stance of having circular references?

Should we still try to avoid them at all costs? What’s the strategy/tooling to identify these scenarios?

Thank you

For me it was around 4.17 when I stopped noticing issues regarding circular dependencies. I even remember someone from Epic’s side jokingly suggest the users should try and actively go break it.

Introduction of the Compilation Manager initially made things worse (and slower for projects created before 4.16) but I currently find the kinks ironed out.

Apparently the ability to disable Compilation Manager will be deprecated in 4.21 - someone is really confident it’s now working as intended.

I can’t speak about Interfaces as I do not use them that much.

Blueprint created structs are still a mess, though.

As Everynone said, for me it was also around 4.17 version when circular dependencies stopped being an issue. I see that your product version in 4.18 and it definitely doesn’t have such a problem.

However, if you really need to get rid of circular dependencies, you should consider using interfaces. They would make the code much cleaner and the whole architecture a bit tidier.

If you particularly don’t want to use interfaces, then, I guess, you should remodel the architecture of the project. So, in the end, it’s up to you.