Simple WSAD movement + jumping.

I’ve been searching for a few hours now but all I can find is posts telling the topic creators to copy the first person script or to do something that I don’t want to do.

I’ve been messing with GUI functions for a while now and I’m starting to get used to Unity Javascript. I want to make a cube act as a player and have a basic WSAD movement with jump and sprint. All I’d like is to have W, S, A & D move the player in each direction but have them as seperate code. For example:

if(Input.GetKey(KeyCode.W))
{
 MoveForward
}

I am currently using:

    var controller : CharacterController = GetComponent(CharacterController); 
	var forward = transform.TransformDirection(Vector3.forward); 
	var curSpeed = speed * Input.GetAxis ("Vertical"); 
	transform.Rotate(0, Input.GetAxis ("Horizontal") * rotateSpeed, 0); 
	controller.SimpleMove(forward * curSpeed);

But since I’m starting out I’d like things kept really simple so that I can add and improve as I go along.

var cc : CharacterController
var moveDirection : Vector3 = Vector3.zero;
var walkSpeed : float = 5.0;
var runSpeed : float = 10.0;
var gravity : float = 5.0;
var jumpHeight : float 15.0;
function Start()
{
cc = GetComponent(CharacterController);
}
function Update()
{
if(Input.GetKey(KeyCode.Space))
{
moveDirection.y = jumpHeight;
}
if(Input.GetKey(KeyCode.LeftShift))
moveDirection = (Input.GetAxis(“Horizontal”) * walkSpeed,moveDirection.y,Input.GetAxis(“Vertical”) * walkSpeed)
else
{
moveDirection = (Input.GetAxis(“Horizontal”) * runSpeed,moveDirection.y,Input.GetAxis(“Vertical”) * runSpeed)

     }
     moveDirection.y -= gravity;
     cc.Move(moveDirection * Time.deltaTime)


}

//this should work not tested but should…let me know if you need me to explain