Actor attachment lost in editor upon blueprint recompile

This seems to have been reported in a couple of different forms since around 2014. I haven’t tested the historical cases separately, but I believe this may be a new variant. Here’s one previous thread as an example.

Steps to reproduce:

  • Create a single blueprint to be used as a parent class.
  • Create two blueprints with static meshes that share the above parent class.
  • Instantiate both child blueprints in the editor. Attach one to the other.
  • Make a change to the parent class’ blueprint (anything that marks it dirty), and recompile it.
  • Go back to the editor. The actors will no longer be attached.

AFAICT, all these steps are necessary to reproduce this issue. Changing the child blueprints doesn’t seem to have this effect.

This does make it quite difficult to work in a setting where blueprints share structure and behavior in a common parent class, and which relies upon in-editor actor attachment. So any workarounds would be greatly appreciated.

I’ve tried using new blueprints with internally attached actors, but (a) I can’t quite get them to work the way I want, and (b) even if I can fix those issues, it’s significantly more labor intensive in level design, to have to create a new blueprint for every combination of child actors, just to keep them from getting broken up in the scene.