public MapTile(GameObject tileGO) { this.tileGO = new GameObjectSerializable(tileGO, tileGO.name); this.mesh = new MeshSerializable(tileGO.GetComponent <MeshFilter>().mesh); this.materialName = "TerrainMaterial"; Texture2D texture = (Texture2D)tileGO.GetComponent <MeshRenderer>().material.mainTexture; this.textureData = texture.EncodeToPNG(); //File.WriteAllBytes("Serialized/" + "tile" + index + ".png", texture.EncodeToPNG()); }