I’m getting **MissingFieldException: UnityEngine.Vector3.transform** when trying to use

a script. I don’t know whats wrong with it and it’s frustating me.

```
function Update () {
var mesh : Mesh = GetComponent(MeshFilter).mesh;
var vertices : Vector3[] = mesh.vertices;
var normals : Vector3[] = mesh.normals;
for (var i = 0; i < vertices.Length; i++)
vertices_.transform.position = vertices*.transform.position + Vector3(0,Random.Range(-1,1),0);*_
```

*mesh.vertices = vertices;*

*}*

*Can somebody help me ?*

Vertices in a mesh are Vector3 objects. Vector3s don’t have a transform or a position. To move one you would do:

```
vertices *+= Vector3(0,Random.Range(-1.0,1.0),0);*
```

*Note that your original code had integers in the Random.Range(), so the code would only have returned values -1 and 0 (since the integer version of Random.Range() is exclusive of the final value passed). I changed it to use floats.*

Only GameObjects do have transform, your vector array doesnt, as it is no GameObject.

```
vertices *+= Vector3(0,Random.Range(-1,1),0);*
```

*This should work. But why? Because you are now using the vector’s values, instead of trying to access something that isn’t even there.*

*Cheers, WRZ*

*edit: oops, too slow *