Description

The problem seems to come from a notify having its LinkedMontage set to null when RefreshBranchingPointMarkers() is called. IsBranchingPoint() fails in this case, so it's never registered as a branching point.

The fact that LinkedMontage is null seems to be an overall concern. I found a montage in an internal project that also has LinkedMontage null. Resaving the montage fixes that, so perhaps there's some authoring path that leads to it not being set properly? The Montage in question was added in CL#17775462 (MM_Shotgun_Reload_Montage) and hasn't been changed since.

Another issue is that UAnimSequenceBase::PostLoad() calls RefreshCacheData() which calls RefreshBranchingPointMarkers(), but UAnimMontage::PostLoad() then calls LinkMontage() after. If that order of operations were reversed, notifies would have a valid LinkedMontage before branching points are collected.

Steps to Reproduce

There is no established repro case, but details can be found in the UDN:

[Link Removed]

Have Comments or More Details?

There's no existing public thread on this issue, so head over to Questions & Answers just mention UE-134969 in the post.

4
Login to Vote

Fixed
ComponentUE - Anim - Runtime
Target Fix5.4
Fix Commit30526695
Main Commit30526703
CreatedNov 15, 2021
ResolvedJan 10, 2024
UpdatedMar 4, 2024