What do you use Blend Out Trigger Time for?

I am trying to understand the new Blend Out Trigger Time property on Anim Montages in 4.8.

It seems redundant based on the code I’m looking at in the C++. It uses either regular Blend Out Time or Blend Out Trigger Time. I don’t see how Blend Out Time is even used anywhere when Blend Out Trigger Time > 0, in effect making Blend Out Trigger Time be Blend Out Time.

I found myself investigating these fields today, they are actually both used.

BlendOutTriggerTime >= 0: The anim montage will start blending out early before montage has finished playing based on the BlendOutTriggerTime. But it will then blend for the next BlendOutTime seconds, which can go even beyond the duration of the montage. You can have a BlendOutTriggerTime of 0.0, and a BlendOutTime of 0.1s, and it will continue blending the last frame of the montage for 0.1s after it’s finished playing.

BlendOutTriggerTime < 0: In this case BlendOutTriggerTime is ignored. The montage starts blending out BlendOutTime seconds before the montage ends. However it cannot blend beyond the end of the montage.

Honestly, I find the behavior of these two fields really confusing, but I imagine changing them now would break a lot of projects out there.

I just think the naming is confusing, not the actual implementation.

One adjusts the duration of the blend-out
The other adjusts when the blend out starts

Fairly simple pair of parameters.

The confusing part to me is that when BlendOutTriggerTime < 0, the montage still starts blending out before it has finished playing. When I read it I expected that if it was <= 0 it should disable the early blend out.

I’m guessing this is a backwards compatibility thing.

It’s definitely new in UE 4.8.