Description

When trying to create a widget with specific steps, the drawing order may not be correct. This is not reproduced when Global Invalidation is disabled, and the state can be restored. This issue is probably related to the ZOrder.

Steps to Reproduce

The CVar  `Slate.InvalidationList.EnableReindexLayerId` set to 1 fix the bug.

  1. Open the attached project in the editor.
  2. Play "Standalone Game".
  3. Press "5" Key, enable global invalidation. 
  4. Press "1" Key, create and show "Dialog" widget. 
  5. Press "3" Key, create and show "Menu" widget. 
  6. See that the bug is reproducable.
  7. Press "6" Key, disable global invalidation
  8. Enter the command: "Slate.InvalidationList.EnableReindexLayerId 1"
  9. Do step 3, 4, 5. See that it fix the issue.

You can confirm the fix with the command: "Slate.VerifyWidgetLayerId 1". The command will warn you when the bug occurs and auto deactivate when detected. It's an ensure, it may just send a silent crash report depending of how you are setup.

Result:

"Dialog" widget will appear in front of the "Menu" widget.

Expected:

"Menu" widget will appear in front of the "Dialog" widget.

Have Comments or More Details?

There's no existing public thread on this issue, so head over to Questions & Answers just mention UE-136046 in the post.

0
Login to Vote

Fixed
ComponentUE - Editor - UI Systems - Slate
Affects Versions4.264.27
Target Fix5.0
Fix Commit18938888
CreatedNov 26, 2021
ResolvedFeb 11, 2022
UpdatedMar 22, 2022