public static List <AnimationClip> GetUnusedAnimations(this AnimatorOverrideController controller)
        {
            List <AnimationClip> clips = new List <AnimationClip>();

            List <AnimationClip> includeClips = controller.LoadAllAsset <AnimationClip>();

            foreach (AnimationClip includeClip in includeClips)
            {
                if (!new List <AnimationClip>(controller.animationClips).Contains(includeClip))
                {
                    clips.Add(includeClip);
                }
            }

            return(clips);
        }
        public static void SetAnimationsHideFlags(this AnimatorOverrideController overrideController, HideFlags hideFlags)
        {
#if !(UNITY_5_5 || UNITY_5_4 || UNITY_5_3 || UNITY_5_2 || UNITY_5_1 || UNITY_5_0 || UNITY_4)
            List <AnimationClip> clips = overrideController.LoadAllAsset <AnimationClip>();
            foreach (AnimationClip clip in clips)
            {
                if (clip.hideFlags == hideFlags)
                {
                    continue;
                }
                clip.hideFlags = hideFlags;
                EditorUtility.SetDirty(clip);
            }
#endif

            AssetImporter assetImporter = AssetImporter.GetAtPath(AssetDatabase.GetAssetPath(overrideController));
            assetImporter.SaveAndReimport();
        }