need help in randomising array

var startPoint: Transform;
var endPoint: Vector2;
var RandomNumber: int;

var speed: float;

RandomNumber = Random.Range (0,3);

function Start () {
   startPoint.position = Vector3.MoveTowards(startPoint.position, endPoint[RandomNumber], speed*Time.deltaTime);
}

You didn’t describe the problem. You have a random number being generated, so what is the issue?

Well there are things in this script that don’t look right at all. Why is startPoint an array of Transforms? Why is MoveTowards in the Start function? Why is the random range hardcoded? Try something like this:

var endPoint: Vector2[];
var RandomNumber: int;

var speed: float = 1f;

function Start () {
    NewRandomEndPoint();
}

function Update () {    
    transform.position = Vector3.MoveTowards(transform.position, endPoint[RandomNumber], speed*Time.deltaTime);
    if (Vector3.Distance(transform.position, endPoint[RandomNumber]) < 0.1f)
    {
        NewRandomEndPoint();
    }
}

function NewRandomEndPoint () {
    RandomNumber = Random.Range (0,endPoint.Length);
}