When continuously transitioning to UMG animations that have a track targeting the same material parameter within the UUserWidget::OnAnimationFinished event, the number of source inputs to UMovieScenePiecewiseDoubleBlenderSystem transitions from 2 → 1 → 0, leaving a blender with no sources. This results in two ApplyScalar tasks coexisting: one via the blender path and one via the non-blended direct path.
When a large number of entities are present, the entity system execution becomes multi-threaded, causing the order of the two ApplyScalar operations to be non-deterministic, which produces the flickering behavior.
Workaround: Destroying the blender in TOverlappingMaterialParameterHandler::UpdateOutput when blending is no longer needed is a workaround from a licensee.
if (bUseBlending)
{
...
}
#if 0 // original
else if (!Output->OutputEntityID && Inputs.Num() == 1)
{
Linker->EntityManager.RemoveComponent(Inputs[0], BuiltInComponents->BlendChannelInput);
Mixin::InitializeSoleInput(Linker, BoundMaterial, ParameterInfo, Inputs[0], Output);
}
#else // work around
else
{
if (Output->OutputEntityID)
{
DestroyOutput(BoundMaterial, ParameterInfo, Output, Aggregate);
}
if (Inputs.Num() == 1)
{
Linker->EntityManager.RemoveComponent(Inputs[0], BuiltInComponents->BlendChannelInput);
Mixin::InitializeSoleInput(Linker, BoundMaterial, ParameterInfo, Inputs[0], Output);
}
}
#endif // end work around
There's no existing public thread on this issue, so head over to Questions & Answers just mention UE-379127 in the post.
| 0 |
| Component | UE - Editor - UI Systems - UMG |
|---|---|
| Affects Versions | 5.7 |
| Created | May 12, 2026 |
|---|---|
| Updated | May 20, 2026 |