Sequencer causes 3DWidget on BP vectors to snap to Actor when active, DaySequenceActor has Sequencer active at all times

Hello!

On our project we noticed that when we have Vectors in BP with Show 3D Widget enabled, the Transform Widget would always snap back to the Actor after we move the 3D Widget in-world.

[Image Removed]

Removing the DaySequenceActor resolves the issue.

[Image Removed]

Debugger further, it seems the issue is related to Sequencer pushing its FSubTrackEditorMode onto the Editor Mode list, which then intercepts all calls to GetWidgetLocation since the list is processed in reverse.

This issue can also be reproduced just by bringing up the Sequencer Window of an asset with tracks loaded. The widget will be offset as long as that Window is open anywhere, including docked behind another window. Closing it fixes the issue immediately.

I don’t know if this is a bug with Sequencer or if this is expected behavior, and secondarily if the DaySequenceActor should be “activating” Sequencer just by being populated in a level.

Thanks!

Steps to Reproduce
Using UE from 5.6.1 to 5.8.0-CL48028723 the setup is as follows (or use the zip I’m attaching which was made with 5.8.0-CL48028723):

  1. Create a new First Person Blueprint Game Project
  2. Launch Editor
  3. Enable DaySequence Plugin
  4. Restart Editor
  5. Right click in the Content Explorer and create a new Blueprint Class with Actor as the parent
  6. Give it some name
  7. Double click the new class
  8. Add a Vector Variable and name it
  9. In the Properties of the new Vector enable Instance Editable then Show 3D Widget
  10. Save and Close the Class
  11. Drop one into the level, save and close

To perform the Sequencer repro:

  1. Open the Project
  2. Click on the Vector Actor in the world
  3. Click on the Diamond that starts rendering which represents the Vector’s value
  4. Move it anywhere
  5. Notice the Translate Widget stays with the Diamond
  6. Double click on /DaySequence/DS_24hr to open it in the Sequencer window
  7. Notice the Translate Widget snaps to the Actor
  8. Click on the diamond to re-select and move the Translate Widget from the actor, and notice the diamond moves relative to the widget, then let go
  9. Notice the widget snaps back
  10. Close the Sequencer Window
  11. Notice the Widget snaps back to the diamond as before

To perform the DaySequenceActor repro:

  1. Open the Project
  2. Click on the Vector Actor in the world
  3. Click on the Diamond that starts rendering which represents the Vector’s value
  4. Move it anywhere
  5. Notice the Translate Widget stays with the Diamond
  6. In the Place Actors window, type in day and populate a Sun Moon Day Sequence Actor
  7. Click back on the Vector Actor, then click on the diamond
  8. Notice the Translate Widget is now on the Actor
  9. Click on the diamond to re-select and move the Translate Widget from the actor, and notice the diamond moves relative to the widget, then let go
  10. Notice the widget snaps back
  11. Select and delete the Day Sequence Actor from the level
  12. Click back on the Vector Actor
  13. Click back on the Diamond
  14. Notice the Translate Widget follows the Diamond again

Hey there,

Apologies for the delay and thanks for raising this. I’ve logged an issue you can follow here: https://issues.unrealengine.com/issue/UE-353908

Part of the delay is looking for a solution or workaround for you which I haven’t yet. Even the straightforward case of have sequencer open with an actor that has a vector bp to edit produces the issue. I’ll continue to look for a workaround or solution soon though.

Dustin