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);
+ }
}
///