public static void Copy <T>(T copyTo, T copyFrom) where T : Object { #if UNITY_EDITOR UnityEditor.SerializedObject copyToSerialized = new UnityEditor.SerializedObject(copyTo); UnityEditor.SerializedObject copyFromSerialized = new UnityEditor.SerializedObject(copyFrom); UnityEditor.SerializedProperty iterator = copyFromSerialized.GetIterator(); while (iterator.Next(true)) { copyToSerialized.CopyFromSerializedProperty(iterator); } copyToSerialized.ApplyModifiedProperties(); #endif }