How to get character movement fixed around point

I’m working on a two-player game, where a central mechanic is moving a couch.when not holding the couch, your character has free movement.
When your character is carrying the couch from one of the ends, if the other player isn’t moving the couch with you, your character would just move around the unmoving point. as shown below

This can be a tad complex since you’re dealing with multiple objects, and it depends how you have them set up. If you only want a calculation for how to move the character around a single point, you’ll be setting the actor location by an angular velocity that you’re calculating on your own. CharacterMovement modes (Walking, Falling, Flying, etc) move the character in linear velocities. If it were me, I would set the CharacterMovement velocity to zero and use a virtual velocity not connected to CharacterMovement. Then I’d find the angular velocity based on that custom linear velocity and multiply it by delta time to get the change in degrees around the central point per tick. The next step would be to make a vector going from the radius of the central point to the moving character’s location, rotate it by that amount in degrees, add it to the central point’s world location, then for the moving actor use the set actor location node to that new location. There might be an easier way to do it, but that’s what comes to mind for me personally.