using UnityEngine; [CreateAssetMenuAttribute] public class AnimatorParameter : ScriptableObject { [SerializeField] RuntimeAnimatorController animatorController = default; public AnimatorParameterInfo[] parameterInfos; [System.Serializable] public struct AnimatorParameterInfo { public ParameterType type; public int hashName; public string name; public enum ParameterType { NONE, BOOL, FLOAT, INT, TRIGGER } } #if UNITY_EDITOR [ContextMenu("Setup")] void Setup() { UnityEditor.Animations.AnimatorController controller = animatorController as UnityEditor.Animations.AnimatorController; parameterInfos = new AnimatorParameterInfo[controller.parameters.Length]; UnityEditor.AssetDatabase.RenameAsset(UnityEditor.AssetDatabase.GetAssetPath(this), animatorController.name); name = animatorController.name; for (int i=0; i