In Sequencer, calling "Edit > Auto Size" on a UMovieSceneSkeletalAnimationSection triggers the LowerBound > UpperBound ensure in UMovieSceneSection::SetRange (MovieSceneSection.h:333) when the section has been shortened below the animation length and then moved so that its start frame is beyond the animation length.
Root cause is in UMovieSceneSkeletalAnimationSection::GetAutoSizeRange (MovieSceneSkeletalAnimationSection.cpp:337). It calls InnerToOuterTransform.TryTransformTime(InnerEndTime).Get(InnerEndTime), and when the inverse transform fails to map InnerEndTime to an outer time (because the value is outside the Inner Clamp or Inner Loop range), the .Get(InnerEndTime) fallback returns the raw inner-tick value. That value is then used as if it were an outer-tick value in GetInclusiveStartFrame() + (OuterEndTime - OuterStartTime).FrameNumber, mixing inner-tick and outer-tick values and producing a negative or otherwise invalid length. SetRange then refuses the range and Auto Size has no effect.
This behavior was introduced by CL 40829088 ( [Link Removed] Closed , fixed in 5.6), which replaced the previous TOptional check with a .Get(fallback) pattern.
There's no existing public thread on this issue, so head over to Questions & Answers just mention UE-382288 in the post.
| 0 |
| Component | UE - Anim - Sequencer |
|---|---|
| Affects Versions | 5.7 |
| Target Fix | 5.8.1 |
| Fix Commit | 55148039 |
|---|
| Created | May 29, 2026 |
|---|---|
| Resolved | Jun 15, 2026 |
| Updated | Jun 16, 2026 |