diff --git a/Packages/dev.hai-vr.animator-as-code.v1/V1/Editor/Aac.cs b/Packages/dev.hai-vr.animator-as-code.v1/V1/Editor/Aac.cs
index 17e6bcd..f690d4b 100644
--- a/Packages/dev.hai-vr.animator-as-code.v1/V1/Editor/Aac.cs
+++ b/Packages/dev.hai-vr.animator-as-code.v1/V1/Editor/Aac.cs
@@ -523,13 +523,15 @@ namespace AnimatorAsCode.V1
return new AacFlClip(_configuration, clip);
}
- /// Create a new BlendTree asset with a name. However, the name is only used as a suffix for the asset. The asset is generated into the container.
+ /// Create a new BlendTree asset with a name. However, the name is only used as a suffix for the asset. The asset is generated into the container.
+ /// Added in 1.3.0.
public AacFlNonInitializedBlendTree NewBlendTree(string name)
{
return new AacFlNonInitializedBlendTree(AacInternals.NewBlendTreeAsRaw(_configuration, name));
}
- /// Create a new BlendTree asset with a name and returns a native BlendTree object. However, the name is only used as a suffix for the asset. The asset is generated into the container. You may use NewBlendTree() instead to obtain a fluent interface.
+ /// Create a new BlendTree asset with a name and returns a native BlendTree object. However, the name is only used as a suffix for the asset. The asset is generated into the container. You may use NewBlendTree() instead to obtain a fluent interface.
+ /// Added in 1.3.0.
public BlendTree NewBlendTreeAsRaw(string name)
{
return AacInternals.NewBlendTreeAsRaw(_configuration, name);
@@ -640,6 +642,13 @@ namespace AnimatorAsCode.V1
{
return new AacFlNoAnimator();
}
+
+ /// Returns a new AacFlModification instance, granting you access to this destructive modification API. You will need to reuse this object throughout.
+ /// Added in 1.3.0.
+ public AacFlModification Modification()
+ {
+ return new AacFlModification(_configuration, this);
+ }
}
public class AacFlNoAnimator
diff --git a/Packages/dev.hai-vr.animator-as-code.v1/V1/Editor/AacFlModification.cs b/Packages/dev.hai-vr.animator-as-code.v1/V1/Editor/AacFlModification.cs
new file mode 100644
index 0000000..f878c8f
--- /dev/null
+++ b/Packages/dev.hai-vr.animator-as-code.v1/V1/Editor/AacFlModification.cs
@@ -0,0 +1,108 @@
+using System;
+using System.Collections.Generic;
+using UnityEditor;
+using UnityEditor.Animations;
+using Object = UnityEngine.Object;
+using UnityEngine;
+
+// ReSharper disable once CheckNamespace
+namespace AnimatorAsCode.V1
+{
+ public class AacFlModification
+ {
+ private readonly AacConfiguration _configuration;
+ private readonly AacFlBase _base;
+
+ private readonly HashSet