We upgraded our project to 5.2 and found that many AnimModifiers that add curves would crash when applied. To verify this issue, I compiled a brand new project using the UE 5.2 Release source code and created a very simple blueprint of AnimModifier that just adds a curve, then calls GetAnimPoseAtTime to get the bone transform and print it out. The blueprint is shown in the image:
Additionally, I found that reversing the order of AddCurve and GetAnimPoseAtTime occasionally works, but sometimes it still crashes in another place. If I find a consistently reproducible way to cause the crash, I will share it here.
After adjusting the order of AddCurve and GetAnimPoseAtTime , the crash is no longer inevitable. I think this might be a temporary solution.
However, when applying multiple AnimModifiers at once by clicking the Apply Modifiers button in the editor, crashe may still occur sometimes. The crash point is within an asynchronous task. The call stack is:
A preliminary investigation suggests that the possible cause is because the asynchronous compression task of the animation sequence is triggered by the end of the previous Modifier, while the subsequent Modifier calls functions such as AddCurve , modifying the content of the animation sequence and causing non-thread-safe memory modifications.
Therefore, I have not found a suitable way to make AnimModifier run stably in UE5.2 version. I guess I can only wait for the official fix. I hope the official team can see this issue.