Best way to change the point around which an actor rotates without moving the actor itself?

I’m trying to make a ball-rolling game where the user controls and rotates the world around the ball rather than the ball itself. I made a container Actor that is pretty much just a simple sphere component. The actual level and tangible obstacles are children of this container, which is what I rotate to rotate the rest of the world.

The problem is that the location of the container’s rotation point is its center, so if the ball is far away from it, it’ll wind up getting catapulted and whatnot. I’ve been trying to have the rotation point follow the ball by having the actual container follow the ball, while all of the children pieces of the container get translated in the opposite direction to give the appearance they are staying still.

Is there a better or more efficient way to do something like this? I feel like my hacky method is really inefficient as my game’s performance is pretty poor despite its simplicity. Another thing I tried was programmatically changing the pivot point of the container actor, but it seemed like it had no effect at all.

You can move the ball and the camera in unison to give the impression that the world is moving. That way you dont have to do all the calculations to move all the other assets. That way you can also let the rotation centres and such be much more dynamic.

HTH