Animator - Do After Playing Animation

Hello everyone,thanks for your time, I’ll cut to the point.

-I’ve created a GameObject.
-This gameObject has an Animator attached.
-I’ve created 1 Animation and UNchecked the Loop animation box in the inspector.

I created a function on a script attached to the GO called:

void FinishedPlaying(){
Debug.Log("Animation ended");
}

I want to play this function as soon as the animation ends the first(and only) loop.
How can I accomplish this?
I tried :

Update(){
if (!_anim.animation.IsPlaying("CodingAnimation")){
				Debug.Log("Animation Not Playing");
                         FinishedPlaying()
			}
}

But I see 3 problems to this solution:

1.There is no ‘Animation’ attached to the GameObject.

2.There’s an Animator but not an Animation…Why??

3.If I use this, the function will get called everytime the animation is NOT playing and not just the one time the animation finished playing.

What do you guys recommend I try?

Thank you for your time, help and expertise!
Cheers

Perhaps try adding a boolean variable that you set to TRUE when FinishedPlaying() is called and then set back to FALSE when the animation is playing so that FinishedPlaying() isn’t called twice in a row. Something like this:

bool alreadyFinished = FALSE;

void FinishedPlaying(){
alreadyFinished = TRUE;
Debug.Log("Animation Ended");
}

void Update(){
if(!_anim.animation.IsPlaying("CodingAnimation") && !alreadyFinished){
Debug.Log("Animation not playing and FinishedPlaying hasn't run yet");
FinishedPlaying();
}
else if(_anim.animation.IsPlaying("CodingAnimation"){
alreadyFinished = FALSE;
Debug.Log("Animation is playing");
}
}