This can happen with any mode.
What actually happens is, when closing the Editor, the Editor saves its layout before closing the active Editor Mode, which leads the editor to think the tabs are still opened in the next session.
You can see that in the files : "APPDATA/Local/UnrealEngine/Editor/EditorLayout.json" and "APPDATA/Local/UnrealEngine/Editor/5.3/Saved/Config/WindowsEditor/EditorLayout..ini"
When opening the same Editor Mode again, the editor will :
This leads to the tab to always open in the initial tabstack because the tabstack will always contain at least one entry corresponding to our tab, even if we move the tab to another tabstack.
Some exceptions to this behaviour exists, but you'll find it pretty easy to reproduce (especially if you reproduce exactly the steps I made in the videos).
Moreover, if you reproduce the bug again (closing the Editor while the Editor Mode is active), you will notice that the tab is registered twice or more in the layout, and even in the same tabstack.
In terms of code, the reason all of this is happening is FGlobalTabmanager::SaveAllVisualState() is called before FAssetEditorModeUILayer::OnToolkitHostShutdownUI().broadcast()
My temporary solution (which is far from ideal) is to call GLevelEditorModeTools().DeactivateAllModes() before the layout is saved
Expected: The new position of the tab you moved is remembered
Actual: The tab you moved is placed back in it's original position
There's no existing public thread on this issue, so head over to Questions & Answers just mention UE-211194 in the post.
1 |
Component | UE - Editor - Workflow Systems |
---|---|
Affects Versions | 5.5 |
Target Fix | 5.5 |
Fix Commit | 33692929 |
---|
Created | Apr 2, 2024 |
---|---|
Resolved | May 16, 2024 |
Updated | Jul 16, 2024 |