Scripting: The behaviour for ISerializationCallbackReceiver.OnAfterDeserialize has changed when using Instantiate and UnityEditor.PrefabUtility.CreatePrefab. Previously the callback was invoked twice: once before the object was fully deserialized (internal references not yet updated) and once after the object was fully deserialized (internal references are updated). In Unity 5.6 and above, SerializationCallbackReceiver.OnAfterDeserialize is only invoked once, after the object is fully deserialized, when using Instantiate and UnityEditor.PrefabUtility.CreatePrefab.