Force player character to run around circle

So in this game that I am working on, the player has to run around a circle at the start of a battle. I just cannot for the life of me figure out what math needs to be done to ensure that the player only moves around the circle. I know that I’ll have to stop forward/backward movement, as I want them to use left/right keys to ‘strafe’ around the circle.

What sort of changes to the right/left movement input do I have to make so that this works?

I think it might not be worth while figuring that out. It’s much easier to put a spline in the level in the shape of a circle and lock the player to the spline.

Make a new BP of type actor and drop a spline in as the only component ( not a spline mesh ).

Drop this in your level and drag out the points to make a circle.

You can use GetTransformAtDistanceAlongSpline ( only location and rotation ) and force the player to adopt those transforms on tick.

You’ll need to use SetActorLocation and, strangely SetControlRotation ( not SetActorRotation, try it, nothing happens ) to control the pawn.

There’s some discussion about it here also: