From 1e8fb0d8b89af3ba91cfcf2890327afd51099d79 Mon Sep 17 00:00:00 2001 From: Reach Platform Support Date: Wed, 18 Feb 2026 10:17:05 +0000 Subject: [PATCH 01/82] [Port] [6000.5] Search field for Rendering Debugger --- .../Debugging/DebugWindow.SearchFilter.cs | 148 +++++++++++++ .../DebugWindow.SearchFilter.cs.meta | 2 + .../Editor/Debugging/DebugWindow.cs | 3 + .../Editor/Debugging/DebugWindow.uss | 4 +- .../Editor/Debugging/DebugWindow.uxml | 1 + .../RenderGraphViewer.SidePanel.cs | 110 +--------- .../Editor/Utilities/UIElementSearchFilter.cs | 132 ++++++++++++ .../Utilities/UIElementSearchFilter.cs.meta | 2 + .../Runtime/Debugging/DebugUI.Containers.cs | 6 + .../Runtime/Debugging/DebugUI.FieldUtils.cs | 1 + .../Runtime/Debugging/DebugUI.Fields.cs | 34 ++- .../Runtime/Debugging/DebugUI.Panel.cs | 1 + .../Runtime/Debugging/DebugUI.cs | 14 ++ .../DebugPanelRenderingDebuggerTests.cs | 200 +++++++++++++++++- .../Tests/Editor/RenderGraphViewerTests.cs | 2 +- 15 files changed, 546 insertions(+), 114 deletions(-) create mode 100644 Packages/com.unity.render-pipelines.core/Editor/Debugging/DebugWindow.SearchFilter.cs create mode 100644 Packages/com.unity.render-pipelines.core/Editor/Debugging/DebugWindow.SearchFilter.cs.meta create mode 100644 Packages/com.unity.render-pipelines.core/Editor/Utilities/UIElementSearchFilter.cs create mode 100644 Packages/com.unity.render-pipelines.core/Editor/Utilities/UIElementSearchFilter.cs.meta diff --git a/Packages/com.unity.render-pipelines.core/Editor/Debugging/DebugWindow.SearchFilter.cs b/Packages/com.unity.render-pipelines.core/Editor/Debugging/DebugWindow.SearchFilter.cs new file mode 100644 index 00000000000..598e6490a18 --- /dev/null +++ b/Packages/com.unity.render-pipelines.core/Editor/Debugging/DebugWindow.SearchFilter.cs @@ -0,0 +1,148 @@ +#if ENABLE_UIELEMENTS_MODULE && (UNITY_EDITOR || DEVELOPMENT_BUILD) +#define ENABLE_RENDERING_DEBUGGER_UI +#endif + +using System; +using System.Collections.Generic; +using UnityEditor.UIElements; +using UnityEngine; +using UnityEngine.Rendering; +using UnityEngine.UIElements; + +namespace UnityEditor.Rendering +{ + internal class WidgetSearchData + { + public List textElements; + public string aggregatedAdditionalSearchText; + + public WidgetSearchData(List textElements, string aggregatedAdditionalSearchText) + { + this.textElements = textElements; + this.aggregatedAdditionalSearchText = aggregatedAdditionalSearchText; + } + } + + sealed partial class DebugWindow + { +#if ENABLE_RENDERING_DEBUGGER_UI + readonly Dictionary m_WidgetSearchElementCache = new(); + readonly List m_PanelHeaderTextElements = new(); + UIElementSearchFilter m_SearchFilter; + + void BuildSearchCache() + { + m_WidgetSearchElementCache.Clear(); + m_PanelHeaderTextElements.Clear(); + + foreach (var panelElement in m_RightPaneElement.Children()) + { + var headerLabel = panelElement.Q