AnimationMontage get Notify in C++

Hi,
I want to spawn a projectile once the character’s arm has fully extended in a magic attack animation.

I have a working concept but am wondering if I’m doing things right. What I did:

Use an Animation Montage and add a notify e.g. at the 1.0s point of the animation

Then I have a C++ class/component (I’m using Tom Looman’s Action System) which defines two functions

Once the action is started (fireball key is pressed on keyboard) it will call PlayAttackAnimation in C++ code - which is implemented in Blueprint.

We start the montage and listen for a notify to trigger. If it’s the right one then we call back into C++ code to spawn the projectile.

This works. However, I’m wondering if this back and forth between Animation Montage, Blueprint and C++ is the correct way of doing this or if there is a way to subscribe to notifies from C++ directly.

Can you give me some feedback or point me in the right direction?