Any more ideas on how to make this work? It's really doing my head in too. It *should* work according to the unity documentation, but unity seems to stubbornly refuse to copy anything in Instantiate that is Serializable. I'm about to give in and serialize the data to an array of strings, which I know does get copied on Instantiate. Edit: If you store a byte array in the class and mark it with [serializableField] then this will get cloned correctly. You can use this to copy complex stuff from the config file. I can commit a change to the example that shows how to do this if you like.