- The Modification API is designed specifically for the creation and distribution of modular prefabs, where a developer generates assets on their machine and distributes those generated assets to their users.
- Add AacFlModification class.
- Add (AacFlBase).Modification() which returns a AacFlModification.
- When installing AAC through git url in the Unity package manager (as opposed .unitypackage and ALCOM), the LICENSE file contained within the Packages/ folder would cause errors because files cannot be written there.
- This commit adds the meta file for that LICENSE file, and removes it and other meta files from the exclusion list.
- Original PR comments:
* include LICENSE.meta
generally all meta files should be included. For immutable packages like package registries (e.g. OpenUPM) this is required, as unity can't write a new meta file into the immutable directory. Therefore any files without a meta file will break. Luckily this is just the LICENSE file, no code. but unity still complains
* also include README.md.meta
there is no readme in the package directory. But if there was, its meta file should definitely not be excluded either.
- As specified in the changelog for the official release of Animator As Code V1, breaking changes had been planned, and will be applied starting this version:
- (BREAKING) AacFlSettingKeyframes constructor is now private.
- For compatibility reasons, it was public for the duration of V1.1.x, and was already marked as obsolete in V1.1.x.
- (BREAKING) The methods AacFlBase.InternalConfiguration and AacFlBase.InternalDoCreateLayer are now private.
- For compatibility reasons, it was public for the duration of V1.1.x, and was already marked as obsolete in V1.1.x.
- The class AacAccessorForExtensions replaced them.
- Add static class AacAccessorForExtensions:
- Provides methods for use by extension functions, exposing methods departing from normal fluent interface usage.
- Prepare to make methods marked "Not for public use" private starting from V1.2.0.
- Due to their active use in other packages, it is not immediately private.
- Calling Or() after TransitionsFromEntry().When(...) used to fail due to an unexpected internal state.
- This was due to the implicit conversion operator, which converted a null AnimationState to a AacTransitionEndpoint containing null in it.
- Fix this by returning null in the implicit conversion operators.
- If the name of a state contains a period ".", it can cause the animator to misbehave, so sanitize it.
- Transitions would not work properly during the runtime execution of the animator.
- Apparently this is because sub state machines internally use the dot as a separator.
- Sanitize the name so that menu state names such as "J. Inner" don't mess things up.
- Due to an implementation error, creating Any state transitions previously did not have any effect in the graph.
- This now creates Any state from the root machine.
- Sub-state machines "cannot" have Any state transitions created directly from them.
- Internally, Any always comes from the root state machine, but visually in the graph, it will come from the sub-state machine.
- Keep AacFlSettingKeyframes public until V1.2.0, where it will be made internal.
- AacFlSettingKeyframes is still used in CGE, but CGE already accepts AAC V1.1.x.
- Breaking changes:
- Rename AacFlSettingObjectReferenceKeyframes to AacFlSettingKeyframesObjectReference.
- This makes it more in line with AacFlSettingKeyframesColor.
- AacFlSettingObjectReferenceKeyframes was introduced specifically for Vixen, and it is meant to be used as a lambda expression, so the breaking damage should be limited.
- Rename *Percent to *Normalized.
- Update inline documentation.
- Add additional single-valued and array overloads.
- Add AacFlSettingCurveObjectReference.WithUnit to be on-par with AacFlSettingCurve.
- Nodes need to know the Animator Root, so that relative paths can be resolved during the creation of State behaviours (i.e. Relative path of an AudioSource).
- Nodes need to have the ability to create a New Behaviour, even if one already exists.
- Change the zAutogenerated__ prefix to zAutogenerated/
- This allows the zAutogenerated/ assets to display in a dedicated menu in the animation editor when the animator is selected.
- For legacy compatibility, the old prefix is still matched for the invocation of ClearPreviousAssets() in addition to the new.
- Invoking WithAnimation on a Simple1D blend tree now always results in the list of ChildMotion being reordered by threshold.
- This prevents an issue with Unity where it is unable to properly run a low-pass filter if the thresholds are stored in the array in the reverse order.
- Asset containers are no longer restricted to the AnimatorController class when using the new GenericAssetContainer configuration field
- The asset container will not be used if it is not a persistent asset