Hi all - any help greatly appreciated on why this doesn't work. I have a game with 11 additive scenes - each scene has a List of GameObjects that they pass to a static controller on loading and when the user clicks save i need to iterate through that list and find out the gameobjects material color and save it to disk (android). Save function ..... Code (CSharp): using UnityEngine; using System.Collections; using System.Collections.Generic; using System.Runtime.Serialization.Formatters.Binary; using System.IO; [System.Serializable] public static class SaveLoad { public static List<Color> coloursUsed = new List<Color>(); public static Color thisColour; public static void Save(int page) { SaveLoad.coloursUsed.Clear(); foreach(GameObject go in globals.colourables){ SaveLoad.thisColour = go.GetComponent<Renderer>().material.color; SaveLoad.coloursUsed.Add(SaveLoad.thisColour); } BinaryFormatter bf = new BinaryFormatter(); FileStream file = File.Create(Application.persistentDataPath + "/page_" + page + ".gd"); bf.Serialize(file, SaveLoad.coloursUsed); file.Close(); } This is the final piece of the development before launch