# Instantiated cubes Y value is different from a vertex Y value created within the same loop using the same Y value?

Debug.Log(y); and Debug.Log(i + “” + new Vector3(x, y, (i%(width + 1)))); both return y as 22 shown in the image, yet Instantiate(myPrefab, new Vector3(x + offsetX * width, y, z + offsetZ * width), Quaternion.identity); with the same y value is shown at 23 in the image? why are some of the y values different for the instantiated cube prefab.
*
for (int i = 0, x = 0; x <= width; x++) {

``````        for (int y = 0; y <= height; y++) {
for (int z = 0; z <= width; z++) {
if (getBlock(x + offsetX * width, y, z + offsetZ * width) && (!isSurrounded(x + offsetX * width, y, z + offsetZ * width))) {
//grid[x, y, z] = new Vertex(x, y, z);
Debug.Log(y);
GameObject cube = Instantiate(myPrefab, new Vector3(x + offsetX * width, y, z + offsetZ * width), Quaternion.identity);
Debug.Log(i + "" +  new Vector3(x, y, (i%(width + 1))));
vertices *= new Vector3(x, y, (i%(width + 1)));*
``````

i++;
}
}
}
}
[206596-capture5.jpg|206596]*
*

It is difficult to determine the exact issue without seeing the complete code. However, I will try to provide some guidance based on the code snippet you provided.

First, I want to point out that you are using the same variable i to index both the instantiated cube and the vertices array. This might lead to inconsistencies if the number of vertices is different from the number of instantiated cubes. If possible, consider using separate index variables for both.

Secondly, ensure that the scale of the prefab is set to (1,1,1) so that the instantiated cube’s position and size match the vertex position.

Lastly, you mentioned that the issue is with the y value of the instantiated cubes. I suspect that there might be a component in the prefab, like a script or a collider, that is causing the difference in y position. Ensure that your prefab does not contain any script or component that might modify its position after instantiation.