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.
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):
Create a new First Person Blueprint Game Project
Launch Editor
Enable DaySequence Plugin
Restart Editor
Right click in the Content Explorer and create a new Blueprint Class with Actor as the parent
Give it some name
Double click the new class
Add a Vector Variable and name it
In the Properties of the new Vector enable Instance Editable then Show 3D Widget
Save and Close the Class
Drop one into the level, save and close
To perform the Sequencer repro:
Open the Project
Click on the Vector Actor in the world
Click on the Diamond that starts rendering which represents the Vector’s value
Move it anywhere
Notice the Translate Widget stays with the Diamond
Double click on /DaySequence/DS_24hr to open it in the Sequencer window
Notice the Translate Widget snaps to the Actor
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
Notice the widget snaps back
Close the Sequencer Window
Notice the Widget snaps back to the diamond as before
To perform the DaySequenceActor repro:
Open the Project
Click on the Vector Actor in the world
Click on the Diamond that starts rendering which represents the Vector’s value
Move it anywhere
Notice the Translate Widget stays with the Diamond
In the Place Actors window, type in day and populate a Sun Moon Day Sequence Actor
Click back on the Vector Actor, then click on the diamond
Notice the Translate Widget is now on the Actor
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
Notice the widget snaps back
Select and delete the Day Sequence Actor from the level
Click back on the Vector Actor
Click back on the Diamond
Notice the Translate Widget follows the Diamond again
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.