# Using delegates instead of Notifies in Animation Montages?

**URL:** <https://forums.unrealengine.com/t/using-delegates-instead-of-notifies-in-animation-montages/2175880>\
**Category:** C++\
**Tags:** unreal-engine, delegates, CPP, question\
**Created:** [December 6, 2024, 8:09am UTC](https://forums.unrealengine.com/t/using-delegates-instead-of-notifies-in-animation-montages/2175880 "2024-12-06T08:09:52Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![mrm\_dev](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/8/5/28502927f1d97ba1051b3b47ccfe17233bf41ef0.png) [@mrm\_dev](https://forums.unrealengine.com/u/mrm_dev)\
**Post date:** [December 6, 2024, 8:09am UTC](https://forums.unrealengine.com/t/using-delegates-instead-of-notifies-in-animation-montages/2175880/1 "2024-12-06T08:09:53Z")

</div>

I’m using the delegate [OnMontageEnded](https://dev.epicgames.com/documentation/en-us/unreal-engine/API/Runtime/Engine/Animation/UAnimInstance?application_version=5.5) of the `UAnimInstance` to detect when an attack montage has been completed as such:

```auto
void AMyCharacter::Attack(const FInputActionValue &Value) {

    if(IsAttacking)
        return;

    IsAttacking = true;

    UAnimInstance* AnimInstance = GetMesh()->GetAnimInstance();
    if(AnimInstance){
        AnimInstance->Montage_Play(AttackMontage);
        AnimInstance->OnMontageEnded.AddDynamic(this, &AMyCharacter::AttackEnd);
    }
}

void AMyCharacter::AttackEnd(UAnimMontage* Montage, bool Interrupted){

    UAnimInstance* AnimInstance = GetMesh()->GetAnimInstance();
    AnimInstance->OnMontageEnded.RemoveDynamic(this, &AMyCharacter::AttackEnd);
    IsAttacking = false;
}

```

I’ve noticed most tutorials online use notifies for this instead, Can I run into any problems doing it this way?
