Why isn't Play Montage available in an animation blueprint?

I’d like to use this node in an animation blueprint’s event graph


However it’s not available, even when I try to pull it off of a character or skeletal mesh reference. I tried copying and pasting the node from another blueprint, and it says “One or more copied nodes could not be pasted into this graph!”

I’d like to use this node because of its expanded output behaviour which gives me access to various delegates, and I want to keep my animation-specific logic in my animation blueprint

  1. That’s an async task (clock in the corner). That means that it cannot be used in synced graphs like functions.
  2. Are you sure that you need to use play montage in your animBP? Most likely not.
    Please read a bit about anim montages and animation blueprints. Try to understand what are they used for. Good starting points are:
    Introduction to AnimMontage - Unreal Engine
    Animation Blueprints | Unreal Engine Documentation

If that didn’t help you out feel free to ask more questions here in this topic.

I’ve used this node inside of macros though. Can you explain why it can’t be used in a function or an event graph?

I want to keep my animation logic separate from my main logic. In my mind, I wanted to control stuff like blend out notifies in the same way you use regular anim notifies.

For example, my character clicks the reload button and in my character class I play the reload animation montage. In the montage, I have a notify called “ReloadComplete,” and in my animation bp I react to that event and call function defined on my character class called “FinishReload.”

I wanted to do the same thing here for other animation montages that are a bit more complex and I wanted to use the Play Montage node to enable reacting to the blend out event.

Is my architecture for the reload sensible?

  1. Macros are just like pasting nodes so it’s okay to use async tasks here. You can use them in event graphs. Actually, the event graph is the only place where you can do this. Also, you may notice that you cannot use delay nodes in functions cause that’s also an async task.
    That’s an intended design feature.

  2. You can use Play Montage node in your animation blueprint but only in regular graphs.
    You can’t use them in AnimationGraps cause they work in a different manner.
    I’ve tried to add Play Montage myself at the event graph and was able to call it at Event Blueprint Update Animation. (Engine version 4.26.2)

Is my architecture for the reload sensible?

Possibly yes. I’m not very experienced with designing animation structures.