The OnlyTickMontagesAndRefreshBonesWhenPlayingMontages setting added in 5.4 is broken. It only works because it unintentionally forces a second call to UAnimInstance::UpdateAnimation (via RefreshBoneTransforms) which generates generates the montage evaluation data by performing a full update of the animation graph. If this second update doesn't happen, we don't have any montage evaluation data so when we call evaluate on the slot node in the anim graph, we don't generate the correct pose. This second update is also performed on the game thread so is particularly detrimental to any licensee that uses this setting.
There maybe other bugs hiding here since the desired codepath would be to only perform the montages in UAnimInstance::UpdateAnimation and not the anim graph. I'm unsure if the anim graph is then in a valid state to evaluate.
Why does the REMOVE method of map container remove elements have memory leaks?
How does TextureRenderTarget2D get TArray<uint8> type data?
How do I set a material as a post-processing material?
What is the cause of the packaging error falling back to 'GameUserSettings' in ue5?
How to delete some elements correctly when deleting an array loop?
What is the difference between Camera and CineCamera?
What controls of umg have mouse wheel events in UE4.27?
How to assign a value to a member of UMG's UMaterialInterface pointer type in C++?
There's no existing public thread on this issue, so head over to Questions & Answers just mention UE-213271 in the post.
1 |
Component | UE - Anim - Runtime - Anim Blueprints |
---|---|
Target Fix | 5.5 |
Fix Commit | 36564374 |
---|
Created | Apr 25, 2024 |
---|---|
Resolved | Sep 25, 2024 |
Updated | Oct 14, 2024 |