Changing the pivot point of an object with blueprints in real time. (Super Monkey Ball style game)

I intend to make a game in which the level rotates to allow a ball to traverse the level (Super monkey ball is a good example of what I want to achieve Super Monkey Ball - Expert Speedrun (7:27.81) - YouTube )

I have it so the level can rotate but as soon as the ball strays too far from the centre of the level and the level is rotated in the opposite direction the ball gets flipped into the air.

From what I can tell in super monkey ball is that the pivot from which the level rotates stays just under the ball to stop this happening. I have searched for days and tried experimenting myself with things like RotateVectorAroundAxis but it seems like I can’t alter the pivot point of an object with blueprints.

There is a node called GetPivotOffset but from what I can see this is read only and there is no way for me to alter the value.

Could someone more knowledgeable help me and (hopefully) tell me I’m wrong about that?

You may be overthinking it! You can rotate a parent object instead of the whole level - create a new object that will be used for rotations and attach the level to it. Then that object will be the pivot point. You’re going to have to figure out the math that will make the level “move” opposite the parent object, but that’s the only real way right now to have a traveling pivot.