I’m have a simple setup for an ‘interaction’ animation that’s causing me some trouble (since apparently we no longer have reliable ‘OnAnimEnd’ style delegate callbacks :mad:). The process looks a little like this:
On a mouse click event, I set the value of bInteracting to true and player speed to 0.
bInteracting triggers the state to transition to Interacting in the animgraph.
The animgraph plays the interaction animation.
The animation plays through, and at the end triggers a notify.
The notify triggers an event in the player.
This event sets the value of bInteracting to false and player speed back to default.
bInteracting triggers the state to return from Interacting in the animgraph.
For the most part, this works - you can click to play the animation and the player stops moving. You can spam the click and there are no issues. However, it would seem if the mouse is clicked at just the right time towards the end of animation, the animation will play through to the end and the notify does not trigger, causing the player to be unable to move and stuck in that last frame of animation.
Any suggestions on how to fix or work around this? The issue is almost certainly to do with blueprint not being remotely ‘atomic’ in nature.
Character blueprint click event and event from notify:
The notify blueprint: