UMG: Legacy UUMGSequencePlayer still created in UE 5.6 despite ERequiresLegacyPlayer::No

Hello,

We are migrating our UMG widgets to the new runner-based UMG animation system introduced in UE 5.6. Our widgets do not rely on the legacy UUMGSequencePlayer, and we explicitly override:

virtual ERequiresLegacyPlayer GetLegacyPlayerRequirement() const override
{
  return ERequiresLegacyPlayer::No;
}

However, even with ERequiresLegacyPlayer::No, the engine still creates a legacy player and logs:

Initializing a legacy player for sequence

This happens inside FSequenceInstance::InitializeLegacyEvaluator().

Questions:

Is this the expected behaviour?

Should UMG animations in 5.6 still create a Legacy Player even when the widget explicitly reports that it does not require legacy support?

Is there a recommended way to use only the new runner-based pipeline and completely avoid initializing the legacy player? (e.g., a new flag, capability, or configuration we might be missing)

Is there a safe and supported way to suppress these log messages without modifying engine source?

Our goal is to fully adopt the new system and avoid unnecessary creation of legacy objects, and especially avoid log spam while staying within supported engine behavior.

Thank you!

[Attachment Removed]

Steps to Reproduce

  1. Create a custom UUserWidget subclass.
  2. Override GetLegacyPlayerRequirement() to return ERequiresLegacyPlayer::No.
  3. Add any UMG animation to the widget.
  4. Play the animation using standard Play Animation or Play Animation with Finished event in the widget.
  5. Run the game and observe the Output Log.
    [Attachment Removed]

Hi! What tracks do you have inside that UMG animation?

What probably happens is that some of the tracks in your UMG animation use the old legacy “evaluation templates” system. Some of the core engine tracks still do that, as we only slowly upgrade them to the new “ECS” system we introduced a few years ago. This legacy system does require a legacy player, and so that’s probably why we have to create one even though you declare that you don’t need one.

[Attachment Removed]

Ah yeah I think this is our old event track -- you could potentially replace it with a new event repeater track, which doesn’t use a legacy player, but that would be a manual upgrade.

[Attachment Removed]

Hey Ludovic!

Sorry for the late reply, and thanks for the explanation.

In the animation that triggers the legacy logs, there’s a Repeater Track.

[Attachment Removed]