Unity アニメーション終了を待つ

AnimationControllerで entry —(trigger hoge)-> Hoge のとき

using System.Collections;
using UnityEngine;
 
[RequireComponent(typeof(Animator))]
public class Actor : MonoBehaviour {
    private Animator _animator;
 
    private async void Start() {
        _animator = GetComponent<Animator>();
        // require 'UniTask' for awaiting coroutines.
        await Action();
    }
 
    private IEnumerator Action() {
        _animator.SetTrigger("hoge");
        yield return WaitAnimationEnd("Hoge");
    }
 
    //アニメーション終了を判定するコルーチン
    private IEnumerator WaitAnimationEnd(string animatorName) {
        var finish = false;
        while (!finish) {
            var nowState = _animator.GetCurrentAnimatorStateInfo(0);
            if (nowState.IsName(animatorName)) {
                finish = true;
            }
            else {
                yield return new WaitForSeconds(0.1f);
            }
        }
    }
}