Not sure what this error means?

Hi all. I am trying to create a simple raycast system, so my enemy will know if the path to a waypoint is blocked. This is the code I am using:


var waypoint : Transform[];
var speed : float = 50;
private var currentWaypoint : int = 0;
var loop : boolean = true;
var player : Transform;
var dist : float = 3;
var rayDist : float = 3;
private var character : CharacterController;


function Start ()
{
    character = GetComponent(CharacterController);
}
 
function Update () 
{
        var target : Vector3 = waypoint[currentWaypoint].position;
        target.y = transform.position.y; // keep waypoint at character's height
        var moveDirection : Vector3 = target - transform.position;
        if(moveDirection.magnitude < 1)
        {
            transform.position = target; // force character to waypoint position
            currentWaypoint = Random.Range(0, waypoint.Length);
        }
        else
        {

		var rayDirection = target.transform.position - transform.position;
		var rayLength = Vector3.Distance(transform.position, target.transform.position);
		if (Physics.Raycast (transform.position, rayDirection, rayLength)==false){
			transform.LookAt(target);
            character.Move(moveDirection.normalized * speed * Time.deltaTime);
		}
		if (Physics.Raycast (transform.position, rayDirection, rayLength)==true){
			currentWaypoint = Random.Range(0, waypoint.Length);
			print("Going around");
		}
	}
}

And this is the error I am receiving:


MissingFieldException: UnityEngine.Vector3.transform
Boo.Lang.Runtime.DynamicDispatching.PropertyDispatcherFactory.FindExtension (IEnumerable`1 candidates)
Boo.Lang.Runtime.DynamicDispatching.PropertyDispatcherFactory.Create (SetOrGet gos)
Boo.Lang.Runtime.DynamicDispatching.PropertyDispatcherFactory.CreateGetter ()
Boo.Lang.Runtime.RuntimeServices.DoCreatePropGetDispatcher (System.Object target, System.Type type, System.String name)
Boo.Lang.Runtime.RuntimeServices.CreatePropGetDispatcher (System.Object target, System.String name)
Boo.Lang.Runtime.RuntimeServices+<GetProperty>c__AnonStorey16.<>m__A ()
Boo.Lang.Runtime.DynamicDispatching.DispatcherCache.Get (Boo.Lang.Runtime.DynamicDispatching.DispatcherKey key, Boo.Lang.Runtime.DynamicDispatching.DispatcherFactory factory)
Boo.Lang.Runtime.RuntimeServices.GetDispatcher (System.Object target, System.String cacheKeyName, System.Type[] cacheKeyTypes, Boo.Lang.Runtime.DynamicDispatching.DispatcherFactory factory)
Boo.Lang.Runtime.RuntimeServices.GetDispatcher (System.Object target, System.Object[] args, System.String cacheKeyName, Boo.Lang.Runtime.DynamicDispatching.DispatcherFactory factory)
Boo.Lang.Runtime.RuntimeServices.GetProperty (System.Object target, System.String name)
UnityScript.Lang.UnityRuntimeServices.GetProperty (System.Object target, System.String name)

The issue is that I am not sure what that error means, and I have no clue how to fix it. I would be grateful for any help anyone can provide, or even a reference to figure out what the error means. Thanks all!

I didn’t look through your code, but it would appear that somewhere in there you are accidentally trying to access the transform of a vector3. Since vector3 doesn’t have a transform you’re getting the error. The first line is probably the cause and the rest is all related