Alright, so this one has me scratching my head. Please bear in mind that I’ve tackled this problem multiple ways and have come up with a work around, but the problem still urks me.
Here’s the setup: I have a level streaming map with one sub-level containing the skeletal mesh actor and the sequences needed to animate him on command. There are four sequences: one auto-playing looping idle animation, two transition sequences, and another looping idle that plays when the first isn’t running (in this demo we have a space man waving > ship take off reaction > floating idly >ship docking reaction > back to waving).
So first the auto play bug. If I have the level open in the editor and play as stand-alone, the first animation sequence runs as usual. Pressing our hotkey plays the transition and idle sequences correctly. However, loading up another level (in editor) and going back (while in game) has our guy not animating at all. Pressing our hotkeys doesn’t play our sequences either, thus breaking our demo. Even making sure it plays the sequence in BeginPlay had no effect. Yes, our initial idle animation is the only one set to auto play. Even worse, before we made the jump from 4.18 to 4.22, this problem was never an issue.
Then there is the crash. This happened after I thought it had something to do with the skeletal mesh actor’s animation settings and my sequences simply not being told to animate when loaded. To make sure we are always waving, I set the actor to use the wave animation asset. Then in the sub-level blueprint I made doubly sure to play our first transition sequence if no other sequence is playing. This setup results in a very reliable crash when I redo the steps mentioned before! ([Crash Report])
My guess for the crash is that it is trying to call a sequence from an array of available sequences that is empty. But even so I don’t see why that’d be the case. All four sequences exist in the map and should be loaded along with the sub-level they are placed in.
The temporary fix I found is simply a work around. On BeginPlay I used a delay node before stopping all four sequences and playing our initial sequence once again. As a fallback, I also linked this to a hotkey, letting me reset the demo should anything break. This works, but still ignores the fact that the bug is still there.
So yea, I’m at a loss as to why this is happening. The crash can be explained (my blueprint check to make absolutely sure SOMETHING happens when you want it to, was the culprit), but the level sequence not loading is definitely not right. Anyone got any insights?