Description

The following console commands do not work when the ConsoleVariablesEditor plugin is enabled.

  • Slate.GameLayer.ViewportSlotVisible
  • Slate.GameLayer.DebugCanvasVisible
  • Slate.GameLayer.PlayerCanvasVisible
  • Slate.GameLayer.AllCanvasesVisible

Upon the investigation, since FConsoleVariablesEditorModule::QueryAndBeginTrackingConsoleVariables() runs CVarShowAllCanvases's OnChangedDelegate().AddRaw() (or AddSp() in UE5.4),  if (!CVarShowAllCanvases->AsVariable()->OnChangedDelegate().IsBound()) in SGameLayerManager::Construct() results in false and callback registration code inside the if block is not executed.

Steps to Reproduce

Any projects using UMG in a game can be used for reproducing. The key steps are bolded.

  1. Enable Console Variables Editor plugin in Plugin window.
  2. Create a project with Content Example and open it.
  3. Load UMG level.
  4. Run PIE.
  5. Execute console command "Slate.GameLayer.AllCanvasesVisible 0"
  6. Get near to each example and confirm that the UMG UIs show up even though AllCanvasesVisible are set to 0.

Have Comments or More Details?

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

0
Login to Vote

Fixed
ComponentUE - Editor - UI Systems - Slate
Affects Versions5.3.2
Target Fix5.4
Fix Commit30886496
Main Commit30886496
CreatedJan 22, 2024
ResolvedJan 25, 2024
UpdatedMar 26, 2024
View Jira Issue