I reduced my problem to the following: I have two static mesh spheres, as the subject states, I can use ‘AttachToActor’ from the level blueprint to make ‘Sphere2’ the child of ‘Sphere1’ and the world outliner shows that state correctly.
From C++, If I use an Actor iterator to find both spheres and call ‘AttachToActor’ the call seems to succeed (no errors from stepping through the engine code) but the action does not take place.
Also what is odd, is that once I ‘stop’ the editor gameplay THEN Sphere2 goes under Sphere1 once I am back in the editor.
Is there something reason the gameplay state would not be updated by calling ‘AttachToActor’ from C++ but does work from BP ?
PS I should mention I am using engine version 4.23.1.