public void OnBeforeSerialize() { // Debug.Log("before serialize "); // create empty object only for constructor, prevent multiple calls emptyObject = new BaseObjectData(); emptyObject.ObjectImage = gridCellEmptySprite; Empty.Enumerate(0); // set ids for game objects EnumerateArray(mainObjects, 10); EnumerateArray(overlayObjects, 100000);// EnumerateArray(underlayObjects, 200000); EnumerateArray(boosterObjects, 300000); }