diff --git a/Source/Editor/Utilities/MemberComparison.cs b/Source/Editor/Utilities/MemberComparison.cs index 3eee029d2..e8d02bece 100644 --- a/Source/Editor/Utilities/MemberComparison.cs +++ b/Source/Editor/Utilities/MemberComparison.cs @@ -61,6 +61,7 @@ namespace FlaxEditor.Utilities /// The value. public void SetMemberValue(object instance, object value) { + var originalInstance = instance; var finalMember = MemberPath.GetLastMember(ref instance); var type = finalMember.Type; @@ -92,6 +93,12 @@ namespace FlaxEditor.Utilities } finalMember.SetValue(instance, value); + + if (instance != originalInstance && finalMember.Index != null) + { + // Set collection back to the parent object (in case of properties that always return a new object like 'Spline.SplineKeyframes') + finalMember.Member.SetValue(originalInstance, instance); + } } ///