Having anim notify event NOT in the Event Graph of the anim BP ?

I need to play anim montage and also use anim notifies for my NPC (basically play beginning of the anim, then looping part and then when required, break out of the loop and play ending part of the anim). I would like to do so outside of the event graph of NPC’s animBP.

Should I make anim notify object (for the notify in the montage) and override Received_Notify there to cast to NPC, calling an event in NPC’s BP that triggers montage section playback switch (to break out of the loop to play ending segment of the animation) ?

Thanks

Yes - that approach has worked for me in the past … :slight_smile:

As a bonus, instead of casting to NPC in the Received_Notify, you could use an interface message in it - this way you can use that same notify in multiple contexts.

BPI is the best way to go about it.

Though, I would add the BPI to the ABP and simply call the notify via the interface call… simply because if someone else looks at stuff they expect to find and modify the notify within ABP.

Can’t have anything in AnimBP event graph - it has to be empty to make sure animation runs through fast path.

Didn’t know that montages don’t run in fast path if placed/called via notify in ABP

Someone (reliable, perhaps someone from Epic) a while back told me that if there is any logic in the Event Graph in the AnimBP, anim will not run through fast path. It’s probably irrelevant for PC, but for mobile VR and console it could be critical.

Kind of odd since all of the tutorials explaining fast path never mentioned this?
/ how would one go about testing it?

also, makes sense in terms of setting up variable changes via a cast, but it precludes the usage of blueprint interfaces.

I would love some clarification on this from anyone with more info. Possibly an update of the documentation as well… even best, an official epic developer response on it?

[USER=“3140864”]MostHost LA[/USER] Animation Optimization in Unreal Engine | Unreal Engine 5.3 Documentation

I suppose with an interface you’d have to build the methods directly on the governing blueprint. Makes sense though / should still work.
As a bonus you can move the abp to anything. No casts to correct. :stuck_out_tongue: