Anim montage applies root motion to all its segments

I am facing a peculiar problem which apparently has not been asked here.

I am using animation montage to make my character attack. It consists of multiple animation segments. I noticed that if one of these segments has root motion enabled, the montage enables root motion for all the other segments even if root motion is disabled for them in their asset details. Then it so happens that my character stops responding to movement input even for the the segments with root motion disabled.

I don’t know if this is an issue or if this is how montages are intended to work. In either case it is pretty odd that I cannot use two segments in a montage, one with and the other without root motion enabled.

After some digging, I found that root motion is set for the entire slot. It is not checked when switching from one AnimSegment to another (doing this will make my life easier)

Root motion is first checked in AnimMontage.cpp line 737:

The SlotAnimTracks is an array which contains all the slots in the montage.

FSlotAnimationTrack then contains an array of all the segments. Now if there is any way I could change this piece to additionally check for root motion when moving from one segment to another within the slot, my problem will be solved.

I’m having this issue aswell, it would be helpful if we could choose what do to do.