How to limit gameobject movement to circle's circumference?

I have a gameObject (my camera/player controller) that I would like to keep restricted to the perimeter of a circle. I want to be able to move the object around the edge of the circle and look in towards the circle but I do not want the player to be able to enter the circle (yet). Also, I want to prevent the player from looking away from the circle, as it will not be allowed in the game’s rules.

I have a quite basic understanding of code and Unityscript. I have been able to figure out much on my own so far, but I am lost when it come to the more ‘advanced’ techniques. Also, I have been coding in Java format with this game.

tl;dr : I want to keep an object restricted to the edge of a circle but allow it to move freely along that edge. How is this done, certain functions/whatever-theyre-called to be used. A direction to the correct page in the ‘codex’ would be greatly appreciated.

Thank you, and I hope to be able to present you with my game eventually.

-C Griffin.

You could use transform.RotateAround while the player is restricted, and enable regular movement otherwise:

var restricted: boolean; // set to restrict movement
var center: Vector3; // circle center
var rotateSpeed: float = 45; // rotate speed in degrees/second

function Update(){
  if (restricted){ // when restricted, control only rotation around center:
    transform.RotateAround(center, Vector3.up, Input.GetAxis("Horizontal") * rotateSpeed * Time.deltaTime);
  } else { // otherwise use your regular movement script - like this:
    moveDirection = Vector3(Input.GetAxis("Horizontal"), 0, Input.GetAxis("Vertical"));
    ...
  }
}