Odd question here - I have a gameobject with a class object attached. I instantiate the gameobject, and assign the class object with data from an existing class. 

I then instantiate a second gameobject with the exact same class object attached and assign it the same data as the first object. If I modify the class attached to the first gameobject, it is different to the class attached to the second object, even though they both reference (or should) reference the same original class.

Can anyone think why this would happen?