Attachment Transform Bug

I am trying to do something very simple and I am running into a bug.

I am animating a null within an actor and want to be able to attach other actors to the animated null component.

It is easily reproducible.

  1. Create an Actor (we’ll call it BaseActor) with a SceneComponent (null) and a Static Mesh Component (set to a cube for a test). Parent the StaticMesh to the SceneComponent.

  2. Create a variable called AttachActors that is an array of Actors and make it Instance Editable.

  3. On the Construction Script get the AttachActors array and ForEachLoop them, using AttachActorToComponent with the parent being the SceneComponent. (Use Keep World on all 3 options)

  4. Place BaseActor into the world, and any other random actor to test attaching.

  5. In the BaseActor, add an AttachActor element in its details panel and select any other random actor.

  6. In the world, not in the blueprint, select BaseActor, select its SceneComponent in the Component’s list, and rotate it manually. (In my project, its procedurally animated, but this gives the same result)

  7. Open the BaseActor blueprint and compile it. You will notice everytime you compile, the Attached Actors will transform an extra invisible offset of however much you rotated the SceneComponent.

This breaks my intended use, and I’ve spent a day trying to find a work around.
The best case I’ve found is having a ChildActor with a blank blueprint and attach actors to this ChildActor in the world outliner, however whenever you compile they all detach, and you can’t save.

Am I doing something fundamentally wrong? This seems very simple and like a bug. I’ve created a handful of messy recreations of attaching using blueprints but they are a mess, noticably latent and buggy.

Any advice would be greatly appreciated.