unit – how to create an infinite mosaic around the player on this generated terrain?

I've created a script that instantiates cubes with for loops and perlin noise. is there a way that I can mosaic infinitely around the player? here is the script for generating a public tile GameObject grass;
public int mapSizeX = 50;
public int mapSizeZ = 50;

public float heightScale = 20f;
floating public detailScale = 20f;

floating seeds;
// Use this for initialization
empty Start ()
{

// if (instance == null)
// instance = this;



for (int x = 0; x <mapSizeX; x ++)
{
for (int z = 0; z <mapSizeZ; z ++)
{
int y = (int) (Mathf.PerlinNoise ((x + seed) / detailScale, (z + seed) / detailScale) * heightScale);

GameObject g = Instantiate (grass) as GameObject;
g.transform.position = new vector3 (x, y, z);
g.transform.SetParent (this.transform);







}
}

}`