# Transform Position

Hello.
For a school project we had to create our own Vector 3 In unity and use it later to move objects.
The goal was to make a sphere move to the position of the cube using our own vector and the subtraction of vectors (SubtractVector Function). But every time I try to set the destination of Sphere to the one I calculated on the SubtractVector function it shows me an error of "Cannot implicity convert type “MyVector3” to “UnityEngine.Vector3”.
Can someone give me some help…?

My code:

``````    public GameObject Cube;
public GameObject Sphere;

private void Start()
{
Sphere = GameObject.Find("Sphere");

}

private void Update()
{
Vector3 test = new Vector3(1, 1, 1).normalized;

if (Input.GetKeyDown("space"))
{

MyVector3 cubePos = new MyVector3(Cube.transform.position.x, Cube.transform.position.y, Cube.transform.position.z);
MyVector3 spherePos = new MyVector3(Sphere.transform.position.x, Sphere.transform.position.y, Sphere.transform.position.z);

MyVector3 move = MyVector3.SubtractVector(spherePos, cubePos);

Sphere.transform.position = move;

}

}
}
``````

Own Vector code:

`````` public float x,y,z;

public MyVector3(float x, float y, float z)
{
this.x = x;
this.y = y;
this.z = z;

}

public static MyVector3 SubtractVector(MyVector3 vec1, MyVector3 vec2)
{
MyVector3 rv = new MyVector3(0, 0, 0);

rv.x = vec1.x - vec2.x;
rv.y = vec1.y - vec2.y;
rv.z = vec1.z - vec2.z;

return rv;
}
``````

Thank you.

You need to create the Vector3 and Init it yourself, it can’t be automatic.

``````Sphere.transform.position = new Vector3(move.x, move.y, move.z);
``````