I’ve got a character with an anim instance set on it. It works fine. However, at one point I change from that anim instance to a single animation using the char’s skeletal mesh’s Play node. This plays fine. After it’s complete, when I switch back to the original anim instance class, using the Set Anim Instance Class node, the anim instance does not play. I’m assuming it does not clear the old instance properly and so doesn’t init the new one.
To fix this, I set the anim instance to null before playing the single animation. Then, when switching back to the original anim instance class, it all worked fine.
The first image shows an Anim Sequence being fed into the ‘Play Animation’ node of a mesh. It also shows the Set Anim Instance Class node I had to add to fix the bug.
The second image shows a function run on tick (I know, not terribly good) that checks to see if the animation has stopped playing and resets it back to the anim instance.
I’m not sure exactly what’s going on internally, but when my Anim Sequence ended, the character just moved about in a reference pose (not the last or first frame of the animation.)
Looking at it now, it may be a problem with the anim instance being returned non-null (and still the old class value) when a single animation is playing. However, the anim instance should be null when playing a single animation sequence, so I guess this is still sort of a bug? Either way, it shouldn’t stick my character into a reference virtruvian man pose.
This bug is not resolved and is marked as part of our backlog. It isn’t a major bug and has a known workaround(use SetAnimInstanceClass twice, first to set it to none, then to set it to AnimBP)