public void Save(string file) { FileStream fs = new FileStream(file, FileMode.Create); StreamPacker sp = new StreamPacker(fs); // Save Parley ParleySaveLoad.Save(sp); sp.WriteString("All is well"); // Save all the Objects foreach (GameObject go in packableObjects) { PackUnpackableBehaviour[] pus = (PackUnpackableBehaviour[])go.GetComponents <PackUnpackableBehaviour>(); if (pus != null && pus.Length > 0) { foreach (PackUnpackableBehaviour pu in pus) { sp.WriteString(pu.GetType().Name); pu.Pack(sp); } } pus = (PackUnpackableBehaviour[])go.GetComponentsInChildren <PackUnpackableBehaviour>(true); if (pus != null && pus.Length > 0) { foreach (PackUnpackableBehaviour pu in pus) { sp.WriteString(pu.GetType().Name); pu.Pack(sp); } } } fs.Close(); }