Why setting a Parent Component's location does not propagate to it's child transform?

Say you have an actor. You add a Cube Static. You parent a Sphere Static to the cube. SetWorldActorLocation moves the cube, SetWorldComponentLocation moves the sphere. Moving the cube, does not move the sphere.

It’s inside a PawnBP. Setup is exactly as I wrote. Difference is that Root is just a Scene Component instead of a Box.

Can you show a screenshot of your actor setup and of the Blueprints for the movements?

I just recreated the same BP setup (had it deleted) and now it works… The world will never know why it didn’t the first time around.

Thank you for your time.

Something doesn’t add up.

SetActorLocation moves the root component of an actor and all the children move along. The only difference is that the root component is checked for collisions on sweep while the children are not checked.

SetWorldLocation moves a component and all its children along. To achieve a given world location, the relative location of the component respect to its parent is updated.

Can you double check how everything is setup and how you move the actor/components around? Is this inside a Blueprint or are you parenting in the Level?

Probably the Sphere was not actually parented to the Cube. Good that you solved it!