public void Save(GameState gameStateToSave) { XElement document = new XElement("root"); XElement gameStateElement = new XElement("GameState"); document.Add(gameStateElement); gameStateToSave.Populate(gameStateElement); string filePath = Path.Combine(Application.persistentDataPath, SAVE_FILE_NAME); File.WriteAllText(filePath, document.ToString()); }