Basic Move Script Wont Work on 'Play' (more complicated than it seems)

Hi there, yes I am a noob, but I have been playing around with unity for a while and simply do not understand what is going wrong.

I had written a simple move script using the example from unity, it was working fine until I opened one day and it simply had stopped working. Instead what happens when I ‘Play’, the object whether its a simple cube or my prefab, move in the x and y axis until it reaches the borders I have set. No input provided. I’ve tried using numerous example scripts, copy and pasted, and they all have that effect. I’ve tried using charactercontroller scripts, rigidbody scripts, turning off the inbuilt gravity.

Below is what I’m trying at the moment, but I simply have no idea where to look as it surely can’t be the script itself.

The game is meant to be a ship sidescroller vibe, and so I had thought perhaps it was because it wasn’t grounded, but even with the most basic scripts from tutorials the same happens.

I’ve even reinstalled Unity but with to effect.

//Character Ship Script

//Public Variables

var driveSpeed				:	float = 	100.0;
var sideSpeed				:	float =		10.0;

//Private Variables

private var moveDirection 	: Vector3 = ;

function Update () {

	var controller : CharacterController = GetComponent(CharacterController);

	moveDirection = Vector3(Input.GetAxis("Horizontal"),0,
	moveDirection = transform.TransformDirection(moveDirection);							// move the transform in move direction	
	moveDirection *= driveSpeed;															// move at drive speed
	// move at drive speed
 	 controller.Move(moveDirection * Time.deltaTime);							// move the controller


After your comment, I had a poke around and realised there was a controller emulator somewhere in my comp. I uninstalled and hey-presto. Sorry for the bimbo moment, and thanks for the help!