I want to have the character level up, and his movement speed increase with each level.

function increaseLevel(){
level = level+1;
maxForwardSpeed = maxForwardSpeed+(maxForwardSpeed/5);
maxBackwardSpeed = maxBackwardSpeed+(maxBackwardSpeed/5);
maxSidewaySpeed = maxSidewaySpeed+(maxSidewaySpeed/5);
}

increaseLevel is called earlier in the script, but that’s not hat I’m worried about. I get the error “Unknown Identifier: maxForwardSpeed” (or backward/sideway) for obvios reasons, those variables are not declared anywhere but the CharacterMotor script (I’m using the default FPS character motor). How would I make it so the movement speed would increase? Do I have to write my own Character Motor script? Could I ‘cross-reference’ the variables so they are declared in CharacterMotor.js and are changed in my script?

Here is, just drag the object of your CharacterMotor into the property “motor”:

#pragma strict

var motor : CharacterMotor;
private var level : int = 0;

function increaseLevel(){
	level = level+1;
	motor.movement.maxForwardSpeed = motor.movement.maxForwardSpeed+(motor.movement.maxForwardSpeed/5);
	motor.movement.maxBackwardsSpeed = motor.movement.maxBackwardsSpeed+(motor.movement.maxBackwardsSpeed/5);
	motor.movement.maxSidewaysSpeed = motor.movement.maxSidewaysSpeed+(motor.movement.maxSidewaysSpeed/5);
}

function Update () {

	if (Input.GetKeyUp(KeyCode.A)) {
		increaseLevel();
	}

}