Can't Save Blueprint (Referenced in /Engine/transient)

I wanted to clarify a little more of what I was doing in above -

So in order to activate animation in Main HUD, Vendor Item needed to know about that animation object. So I passed Main HUD as a ‘reference to self’ to Vendor Panel, which in turn passed it to Vendor Item, where button lives. button then uses referenced Main HUD to access its animation.

If we were to look at this in c++, we’d have something like:

MainHUD.h
#include VendorPanel.h
                                   
VendorPanel.h
#include MainHUD.h
#include VendorItem.h

VendorItem.h
#include MainHUD.h
#include VendorPanel.h

You can’t get job cuz you don’t have a car and you can’t get a car cuz you don’t got job…

I’m not sure why this would compile through blueprint, except that it isn’t checking for and warning about circular references. It merely decompiles dependencies. But it isn’t really surprising that this is breaking blueprints…

I have several game blueprints in which other blueprints decompile each other, but that is because blueprint compiler isn’t compiling in correct order. When starting up game from Visual Studio, blueprints are compiled in right order, i.e. all blueprints have a green checkmark. I can confirm this by running game in PIE immediatley after running editor from VS and noting in Output log that ‘No blueprints needed compiling’. But once a blueprint is changed, incorrect build order occurs.

Maybe it would be useful to be able to guide blueprint dependencies in editor, set compile order perhaps…