Translation of an object

I'm trying to move a character upwards by a set amount when it touches a jump-pad. Here is the code so far:

var velocity : Vector3;
var jumpSpeed : float = 50;
var maximumSpeed : float = 30;
var minimumSpeed : float = 10;
private var controller : CharacterController;
function Awake(){
controller = GetComponent(CharacterController);
function Update(){
function OnControllerColliderHit (hit : ControllerColliderHit){

if ( == "Jump")    {
transform.Translate(Vector3(0,jumpSpeed,0) * Time.deltaTime);

Now, the problem is that this moves the character upwars (y-axis) by a certain amount in the space of 1 frame. How do I change this so it is over a longer time period?

I think Joshua is assuming the jump pad is TALL -- as tall as how far you jump. Every frame you are in it, you go up, like an anti-grav elevator.

If you really have a JUMP pad, you could set velocity to some trial-and-error number (10 is about 1G, so 20-40 is a good start.) Depending how your movement works, `rigidbody.velocity.y=30;` or `velocity.y=30;`

At the top, add

var time : float = 1.0;

and in the part where it says Time.deltaTime, behind that but before the ) add

* time

now you can, in the editor, change the time from one frame to what ever you'd like.