diff --git a/Packages/com.unity.render-pipelines.core/CHANGELOG.md b/Packages/com.unity.render-pipelines.core/CHANGELOG.md index b652553f935..b7f3ba2481b 100644 --- a/Packages/com.unity.render-pipelines.core/CHANGELOG.md +++ b/Packages/com.unity.render-pipelines.core/CHANGELOG.md @@ -22,7 +22,7 @@ This version is compatible with Unity 6000.2.0b2. ## [17.0.3] - 2025-02-13 -This version is compatible with Unity 6000.2.0a17. +This version is compatible with Unity 6000.2.0a5. ### Added - Added Variable Rate Shading API support for (Raster)CommandBuffer(s), RenderGraph and RTHandles. diff --git a/Packages/com.unity.render-pipelines.core/Documentation~/advanced-properties.md b/Packages/com.unity.render-pipelines.core/Documentation~/advanced-properties.md index c62806f8d8e..7796caa848f 100644 --- a/Packages/com.unity.render-pipelines.core/Documentation~/advanced-properties.md +++ b/Packages/com.unity.render-pipelines.core/Documentation~/advanced-properties.md @@ -14,7 +14,7 @@ There is a global state per user that stores if Unity displays **advanced proper Not every component or Volume Override includes advanced properties. If one does, it has a contextual menu to the right of each property section header that includes additional properties. To expose advanced properties for that section, open the contextual menu and click **Advanced Properties**. -For an example, see the **Water Surface** component in [High Definition Render Pipeline (HDRP)](https://docs.unity3d.com/Packages/com.unity.render-pipelines.high-definition@latest). +For an example, refer to the **Water Surface** component in [High Definition Render Pipeline (HDRP)](https://docs.unity3d.com/Packages/com.unity.render-pipelines.high-definition@latest?subfolder=/manual/settings-and-properties-related-to-the-water-system.html). By default only standard properties are shown. diff --git a/Packages/com.unity.render-pipelines.core/Editor/Controls.meta b/Packages/com.unity.render-pipelines.core/Editor/Controls.meta new file mode 100644 index 00000000000..c04a4e100f1 --- /dev/null +++ b/Packages/com.unity.render-pipelines.core/Editor/Controls.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 19a8f70f36adc46b8a4ebd0954643553 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Packages/com.unity.render-pipelines.core/Editor/Controls/ToggleDropdown.cs b/Packages/com.unity.render-pipelines.core/Editor/Controls/ToggleDropdown.cs new file mode 100644 index 00000000000..42f158fad73 --- /dev/null +++ b/Packages/com.unity.render-pipelines.core/Editor/Controls/ToggleDropdown.cs @@ -0,0 +1,292 @@ +using System.Collections.Generic; +using UnityEngine; +using UnityEngine.UIElements; + +namespace UnityEditor.Rendering +{ + [UxmlElement] + internal partial class ToggleDropdown : VisualElement + { + const string k_StylesheetPathFormat = "Packages/com.unity.render-pipelines.core/Editor/Controls/ToggleDropdown.uss"; + const string k_MainClass = "toggle-dropdown"; + const string k_ToggleButtonClass = k_MainClass + "__toggle-button"; + const string k_DropdownButtonClass = k_MainClass + "__dropdown-button"; + const string k_SeparatorClass = k_MainClass + "__separator"; + const string k_EnabledClass = k_MainClass + "--enabled"; + + private Button m_ToggleButton; + private Button m_DropdownButton; + private VisualElement m_DropdownArrow; + private VisualElement m_Separator; + private List m_Options = new List(); + private HashSet m_SelectedIndices = new HashSet(); + private int m_SelectedIndex = 0; + private bool m_IsEnabled = false; + private string m_Text = "Toggle Dropdown"; + + [UxmlAttribute] + public string text + { + get => m_Text; + set + { + if (m_Text == value) + return; + m_Text = value; + m_ToggleButton.text = m_Text; + } + } + + [UxmlAttribute] + private string options { get; set; } = ""; + + [UxmlAttribute("selected-index")] + private int selectedIndex + { + get => m_SelectedIndex; + set + { + if (m_SelectedIndex == value || value < 0) + return; + m_SelectedIndex = value; + } + } + + [UxmlAttribute("selected-indices")] + public string selectedIndices + { + get + { + var indices = new List(); + foreach (int index in m_SelectedIndices) + { + indices.Add(index.ToString()); + } + return string.Join(",", indices.ToArray()); + } + set + { + m_SelectedIndices.Clear(); + if (!string.IsNullOrEmpty(value)) + { + var indices = value.Split(','); + foreach (var indexStr in indices) + { + if (int.TryParse(indexStr.Trim(), out int index) && index >= 0) + { + m_SelectedIndices.Add(index); + } + } + } + } + } + + [UxmlAttribute] + public bool value + { + get => m_IsEnabled; + set + { + if (m_IsEnabled == value) + return; + m_IsEnabled = value; + UpdateEnabledState(); + } + } + + /// Get the currently selected option text (first selected) + public string selectedOption + { + get + { + foreach (int index in m_SelectedIndices) + { + if (index < m_Options.Count) + return m_Options[index]; + } + return ""; + } + } + + /// Get all selected options + public string[] selectedOptions + { + get + { + var result = new List(); + foreach (int index in m_SelectedIndices) + { + if (index < m_Options.Count) + result.Add(m_Options[index]); + } + return result.ToArray(); + } + } + + /// Get all selected indices + public int[] GetSelectedIndices() + { + var result = new int[m_SelectedIndices.Count]; + int i = 0; + foreach (int index in m_SelectedIndices) + { + result[i++] = index; + } + return result; + } + + /// Event fired when selection changes + public event System.Action selectionChanged; + + /// Event fired when toggle state changes + public event System.Action toggleChanged; + + /// Constructor + public ToggleDropdown() + { + styleSheets.Add(AssetDatabase.LoadAssetAtPath(k_StylesheetPathFormat)); + AddToClassList(k_MainClass); + + RegisterCallback(DelayedInit); + + m_ToggleButton = new Button(OnToggleClicked); + m_ToggleButton.AddToClassList(k_ToggleButtonClass); + Add(m_ToggleButton); + + m_DropdownButton = new Button(ShowCustomDropdown); + m_DropdownButton.AddToClassList(k_DropdownButtonClass); + + m_DropdownArrow = new VisualElement(); + m_DropdownArrow.AddToClassList("unity-toolbar-menu__arrow"); + m_DropdownButton.Add(m_DropdownArrow); + + m_Separator = new VisualElement(); + m_Separator.AddToClassList(k_SeparatorClass); + Add(m_Separator); + + Add(m_DropdownButton); + } + + void DelayedInit(AttachToPanelEvent evt) + { + if (!string.IsNullOrEmpty(options)) + { + var optionArray = options.Split(','); + for (int i = 0; i < optionArray.Length; i++) + { + optionArray[i] = optionArray[i].Trim(); + } + SetOptions(optionArray); + } + + if (selectedIndex >= 0) + { + m_SelectedIndices.Add(selectedIndex); + } + + m_IsEnabled = value; + m_ToggleButton.text = m_Text; + UpdateEnabledState(); + } + + /// Set the available options for the dropdown + public void SetOptions(string[] newOptions) + { + m_Options.Clear(); + if (newOptions != null) + m_Options.AddRange(newOptions); + + if (m_SelectedIndex >= m_Options.Count) + m_SelectedIndex = 0; + } + + /// Set the selected indices for multi-select + public void SetSelectedIndices(int[] indices) + { + m_SelectedIndices.Clear(); + if (indices != null) + { + foreach (int index in indices) + { + if (index >= 0 && index < m_Options.Count) + { + m_SelectedIndices.Add(index); + } + } + } + selectionChanged?.Invoke(GetSelectedIndices()); + } + + /// Toggle selection of a specific index + public void ToggleSelection(int index) + { + if (index >= 0 && index < m_Options.Count) + { + if (m_SelectedIndices.Contains(index)) + { + m_SelectedIndices.Remove(index); + } + else + { + m_SelectedIndices.Add(index); + } + selectionChanged?.Invoke(GetSelectedIndices()); + } + } + + /// Check if an index is selected + public bool IsSelected(int index) + { + return m_SelectedIndices.Contains(index); + } + + /// Set the enabled state + public new void SetEnabled(bool enabled) + { + if (enabled != m_IsEnabled) + { + m_IsEnabled = enabled; + UpdateEnabledState(); + toggleChanged?.Invoke(enabled); + } + } + + void OnToggleClicked() + { + SetEnabled(!m_IsEnabled); + } + + void UpdateEnabledState() + { + if (m_IsEnabled) + { + AddToClassList(k_EnabledClass); + } + else + { + RemoveFromClassList(k_EnabledClass); + } + + MarkDirtyRepaint(); + } + + void ShowCustomDropdown() + { + var menu = new GenericMenu(); + + for (int i = 0; i < m_Options.Count; i++) + { + int index = i; + string optionName = m_Options[i]; + bool isSelected = m_SelectedIndices.Contains(index); + + menu.AddItem(new GUIContent(optionName), isSelected, () => { + ToggleSelection(index); + }); + } + + var rect = this.worldBound; + menu.DropDown(rect); + } + } +} diff --git a/Packages/com.unity.render-pipelines.core/Editor/Controls/ToggleDropdown.cs.meta b/Packages/com.unity.render-pipelines.core/Editor/Controls/ToggleDropdown.cs.meta new file mode 100644 index 00000000000..d8a0d4fd589 --- /dev/null +++ b/Packages/com.unity.render-pipelines.core/Editor/Controls/ToggleDropdown.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 37f63294a089b441eb9b5a8b6dea5114 \ No newline at end of file diff --git a/Packages/com.unity.render-pipelines.core/Editor/Controls/ToggleDropdown.uss b/Packages/com.unity.render-pipelines.core/Editor/Controls/ToggleDropdown.uss new file mode 100644 index 00000000000..5d7d2e388ae --- /dev/null +++ b/Packages/com.unity.render-pipelines.core/Editor/Controls/ToggleDropdown.uss @@ -0,0 +1,111 @@ +.toggle-dropdown { + flex-direction: row; + height: 19px; + margin: 0; +} +.toggle-dropdown__toggle-button { + margin: 0; + padding: 3px 8px; + border-radius: 2px 0 0 2px; + border-width: 0px 1px 0px 0px; + border-right-width: 0; + font-size: 12px; + min-width: 85px; + -unity-text-align: middle-left; + flex-shrink: 0; + height: 19px; +} +.toggle-dropdown__separator { + width: 1px; + height: 11px; + align-self: center; + flex-shrink: 0; +} +.toggle-dropdown__dropdown-button { + margin: 0; + border-radius: 0 2px 2px 0; + border-width: 0px 1px 0px 0px; + border-left-width: 0; + min-width: 18px; + max-width: 18px; + padding: 0; + flex-shrink: 0; + height: 19px; + justify-content: center; + align-items: center; +} +.unity-toolbar .toggle-dropdown { + height: 19px; + margin: 0 1px; +} +.unity-toolbar .toggle-dropdown__toggle-button { + height: 19px; + padding: 2px 8px; + font-size: 12px; +} +.unity-toolbar .toggle-dropdown__separator { + height: 11px; + width: 1px; +} +.unity-toolbar .toggle-dropdown__dropdown-button { + height: 19px; + min-width: 16px; + max-width: 16px; +} +.unity-toolbar-menu__arrow{ + width: 12px; + height: 12px; + -unity-background-image-tint-color: var(--unity-colors-dropdown-text); + background-image: resource('d_dropdown'); +} +.toggle-dropdown .toggle-dropdown__toggle-button { + background-color: var(--unity-colors-toolbar-background); + border-color: var(--unity-colors-toolbar-border); +} + +.toggle-dropdown .toggle-dropdown__toggle-button:hover { + background-color: var(--unity-colors-toolbar_button-background-hover); +} +.toggle-dropdown .toggle-dropdown__toggle-button:active { + background-color: var(--unity-colors-toolbar-background); +} +.toggle-dropdown .toggle-dropdown__dropdown-button { + background-color: var(--unity-colors-toolbar-background); + border-color: var(--unity-colors-toolbar-border); +} +.toggle-dropdown .toggle-dropdown__dropdown-button:hover { + background-color: var(--unity-colors-toolbar_button-background-hover); +} +.toggle-dropdown .toggle-dropdown__dropdown-button:active { + background-color: var(--unity-colors-toolbar-background); +} +.toggle-dropdown.toggle-dropdown--enabled .toggle-dropdown__toggle-button { + background-color: var(--unity-colors-toolbar_button-background-checked); + border-color: var(--unity-colors-toolbar-border); +} +.toggle-dropdown.toggle-dropdown--enabled .toggle-dropdown__toggle-button:active { + background-color: var(--unity-colors-toolbar_button-background-checked); + border-color: var(--unity-colors-toolbar-border); +} +.toggle-dropdown.toggle-dropdown--enabled .toggle-dropdown__toggle-button:hover { + background-color: var(--unity-colors-toolbar_button-background-hover); + border-color: var(--unity-colors-toolbar-border); +} +.toggle-dropdown.toggle-dropdown--enabled .toggle-dropdown__dropdown-button { + background-color: var(--unity-colors-toolbar_button-background-checked); + border-color: var(--unity-colors-toolbar-border); +} +.toggle-dropdown.toggle-dropdown--enabled .toggle-dropdown__dropdown-button:active { + background-color: var(--unity-colors-toolbar_button-background-checked); + border-color: var(--unity-colors-toolbar-border); +} +.toggle-dropdown.toggle-dropdown--enabled .toggle-dropdown__dropdown-button:hover { + background-color: var(--unity-colors-toolbar_button-background-hover); + border-color: var(--unity-colors-toolbar-border); +} +.toggle-dropdown.toggle-dropdown--enabled .toggle-dropdown__separator { + background-color: var(--unity-colors-toolbar_button-border); +} +.toggle-dropdown.toggle-dropdown .toggle-dropdown__separator { + background-color: var(--unity-colors-toolbar_button-border); +} diff --git a/Packages/com.unity.render-pipelines.core/Editor/Controls/ToggleDropdown.uss.meta b/Packages/com.unity.render-pipelines.core/Editor/Controls/ToggleDropdown.uss.meta new file mode 100644 index 00000000000..ba80c35de38 --- /dev/null +++ b/Packages/com.unity.render-pipelines.core/Editor/Controls/ToggleDropdown.uss.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 5ff83f8997b534409b1595a0ea6750db +ScriptedImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 2 + userData: + assetBundleName: + assetBundleVariant: + script: {fileID: 12385, guid: 0000000000000000e000000000000000, type: 0} + disableValidation: 0 diff --git a/Packages/com.unity.render-pipelines.core/Editor/MaterialUpgrader.cs b/Packages/com.unity.render-pipelines.core/Editor/MaterialUpgrader.cs index d5aae4eeb59..de1841763cd 100644 --- a/Packages/com.unity.render-pipelines.core/Editor/MaterialUpgrader.cs +++ b/Packages/com.unity.render-pipelines.core/Editor/MaterialUpgrader.cs @@ -632,6 +632,8 @@ public static void UpgradeSelection(List upgraders, HashSet evt) UpdateCurrentDebugData(); } - // Generic helper function to iterate through enum values and add them to a ToolbarMenu. - void BuildEnumFlagsMenu(ToolbarMenu menu, T currentValue, string prefsKey, Action setValue, bool includeNoneAllOptions = true) where T : Enum + // Helper method to check if an enum value has a specific flag. + bool HasFlag(T value, T flag) where T : Enum + { + return (Convert.ToInt32(value) & Convert.ToInt32(flag)) == Convert.ToInt32(flag); + } + + void BuildEnumFlagsToggleDropdown(ToggleDropdown dropdown, T currentValue, string prefsKey, Action setValue, bool defaultEnabled = true) where T : Enum { if (!HasValidDebugData) { - menu.style.display = DisplayStyle.None; + dropdown.style.display = DisplayStyle.None; return; } - menu.style.display = DisplayStyle.Flex; - menu.menu.ClearItems(); + dropdown.style.display = DisplayStyle.Flex; Array enumValues = Enum.GetValues(typeof(T)); + List optionNames = new List(); List values = new List(); - int allFlagsValue = 0; + for (int i = 0; i < enumValues.Length; i++) { T value = (T)enumValues.GetValue(i); @@ -918,78 +927,99 @@ void BuildEnumFlagsMenu(ToolbarMenu menu, T currentValue, string prefsKey, Ac if (intValue != 0) { values.Add(value); - allFlagsValue |= intValue; + optionNames.Add(ObjectNames.NicifyVariableName(value.ToString())); } } - T allFlags = (T)Enum.ToObject(typeof(T), allFlagsValue); - if (includeNoneAllOptions) - { - menu.menu.AppendAction(L10n.Tr("Nothing"), _ => { - var newValue = (T)Enum.ToObject(typeof(T), 0); - setValue(newValue); - EditorPrefs.SetInt(prefsKey, 0); - RebuildGraphViewerUI(); - }, _ => { - return Convert.ToInt32(currentValue) == 0 ? DropdownMenuAction.Status.Checked : DropdownMenuAction.Status.Normal; - }); - menu.menu.AppendAction(L10n.Tr("Everything"), _ => { - setValue(allFlags); - EditorPrefs.SetInt(prefsKey, allFlagsValue); - RebuildGraphViewerUI(); - }, _ => { - return Convert.ToInt32(currentValue) == allFlagsValue ? - DropdownMenuAction.Status.Checked : DropdownMenuAction.Status.Normal; - }); - } + dropdown.SetOptions(optionNames.ToArray()); + + var selectedIndices = new List(); for (int i = 0; i < values.Count; i++) { - T flag = values[i]; - string name = ObjectNames.NicifyVariableName(flag.ToString()); - menu.menu.AppendAction(name, _ => { - int newValueInt = Convert.ToInt32(currentValue) ^ Convert.ToInt32(flag); - var newValue = (T)Enum.ToObject(typeof(T), newValueInt); - setValue(newValue); - EditorPrefs.SetInt(prefsKey, newValueInt); - RebuildGraphViewerUI(); - }, _ => { - return HasFlag(currentValue, flag) ? - DropdownMenuAction.Status.Checked : DropdownMenuAction.Status.Normal; - }); + if (HasFlag(currentValue, values[i])) + { + selectedIndices.Add(i); + } } + dropdown.SetSelectedIndices(selectedIndices.ToArray()); + + bool isEnabled = GetFilterEnabledState(prefsKey, defaultEnabled); + dropdown.SetEnabled(isEnabled); + UpdateFilterEnabledState(prefsKey, isEnabled); + + dropdown.toggleChanged += (enabled) => { + UpdateFilterEnabledState(prefsKey, enabled); + SaveFilterEnabledState(prefsKey, enabled); + RebuildGraphViewerUI(); + }; + + dropdown.selectionChanged += (indices) => { + int newValueInt = 0; + foreach (int index in indices) + { + if (index >= 0 && index < values.Count) + { + newValueInt |= Convert.ToInt32(values[index]); + } + } + + var newValue = (T)Enum.ToObject(typeof(T), newValueInt); + setValue(newValue); + EditorPrefs.SetInt(prefsKey, newValueInt); + + if (dropdown.value) + { + RebuildGraphViewerUI(); + } + }; } - // Helper method to check if an enum value has a specific flag. - bool HasFlag(T value, T flag) where T : Enum + bool GetFilterEnabledState(string prefsKey, bool defaultValue) { - return (Convert.ToInt32(value) & Convert.ToInt32(flag)) == Convert.ToInt32(flag); + string enabledKey = prefsKey + "_Enabled"; + return EditorPrefs.GetBool(enabledKey, defaultValue); + } + + void SaveFilterEnabledState(string prefsKey, bool enabled) + { + string enabledKey = prefsKey + "_Enabled"; + EditorPrefs.SetBool(enabledKey, enabled); + } + + void UpdateFilterEnabledState(string prefsKey, bool enabled) + { + if (prefsKey == kPassFilterEditorPrefsKey || prefsKey == kPassFilterLegacyEditorPrefsKey) + m_PassFilterEnabled = enabled; + else if (prefsKey == kResourceFilterEditorPrefsKey) + m_ResourceFilterEnabled = enabled; + else if (prefsKey == kViewOptionsEditorPrefsKey) + m_ViewOptionsEnabled = enabled; } void RebuildViewOptionsUI() { - var viewOptions = rootVisualElement.Q(Names.kViewOptionsField); - BuildEnumFlagsMenu(viewOptions, m_ViewOptions, kViewOptionsEditorPrefsKey, val => m_ViewOptions = val, false); + var viewOptions = rootVisualElement.Q(Names.kViewOptionsField); + BuildEnumFlagsToggleDropdown(viewOptions, m_ViewOptions, kViewOptionsEditorPrefsKey, val => m_ViewOptions = val, false); viewOptions.text = L10n.Tr("View Options"); } void RebuildResourceFilterUI() { - var resourceFilter = rootVisualElement.Q(Names.kResourceFilterField); - BuildEnumFlagsMenu(resourceFilter, m_ResourceFilter, kResourceFilterEditorPrefsKey, val => m_ResourceFilter = val); + var resourceFilter = rootVisualElement.Q(Names.kResourceFilterField); + BuildEnumFlagsToggleDropdown(resourceFilter, m_ResourceFilter, kResourceFilterEditorPrefsKey, val => m_ResourceFilter = val, true); resourceFilter.text = L10n.Tr("Resource Filter"); } void RebuildPassFilterUI() { - var passFilter = rootVisualElement.Q(Names.kPassFilterField); + var passFilter = rootVisualElement.Q(Names.kPassFilterField); if (m_CurrentDebugData?.isNRPCompiler ?? false) { - BuildEnumFlagsMenu(passFilter, m_PassFilter, kPassFilterEditorPrefsKey, val => m_PassFilter = val); + BuildEnumFlagsToggleDropdown(passFilter, m_PassFilter, kPassFilterEditorPrefsKey, val => m_PassFilter = val, true); } else { - BuildEnumFlagsMenu(passFilter, m_PassFilterLegacy, kPassFilterLegacyEditorPrefsKey, - val => m_PassFilterLegacy = val, false); + BuildEnumFlagsToggleDropdown(passFilter, m_PassFilterLegacy, kPassFilterLegacyEditorPrefsKey, val => m_PassFilterLegacy = val, true); } passFilter.text = L10n.Tr("Pass Filter"); } @@ -1128,6 +1158,9 @@ bool IsResourceVisible(RenderGraph.DebugData.ResourceData resource, RenderGraphR if (resource.releasePassIndex == -1 && resource.creationPassIndex == -1) return false; + if (!m_ResourceFilterEnabled) + return true; + if (resource.imported && !m_ResourceFilter.HasFlag(ResourceFilter.ImportedResources)) return false; if (type == RenderGraphResourceType.Texture && !m_ResourceFilter.HasFlag(ResourceFilter.Textures)) @@ -1146,6 +1179,9 @@ bool IsPassVisible(RenderGraph.DebugData.PassData pass) if (!pass.generateDebugData) return false; + if (!m_PassFilterEnabled) + return true; + if (m_CurrentDebugData.isNRPCompiler) { if (pass.culled && !m_PassFilter.HasFlag(PassFilter.CulledPasses)) @@ -1483,7 +1519,7 @@ void CreateRWResourceBlockElement(int offsetPx, ResourceRWBlock block) tooltip += "
- Memory usage is memoryless."; } - if (m_ViewOptions.HasFlag(ViewOptions.LoadStoreActions)) + if (m_ViewOptionsEnabled && m_ViewOptions.HasFlag(ViewOptions.LoadStoreActions)) { if (block.load != ResourceRWBlock.LoadAction.None) { @@ -2000,6 +2036,10 @@ void CreateGUI() if (EditorPrefs.HasKey(kViewOptionsEditorPrefsKey)) m_ViewOptions = (ViewOptions)EditorPrefs.GetInt(kViewOptionsEditorPrefsKey); + m_PassFilterEnabled = GetFilterEnabledState(kPassFilterEditorPrefsKey, true); + m_ResourceFilterEnabled = GetFilterEnabledState(kResourceFilterEditorPrefsKey, true); + m_ViewOptionsEnabled = GetFilterEnabledState(kViewOptionsEditorPrefsKey, false); + GraphicsToolLifetimeAnalytic.WindowOpened(); m_ResourceListIcon = AssetDatabase.LoadAssetAtPath(string.Format(k_ResourceListIconPath, EditorGUIUtility.isProSkin ? "d_" : "")); diff --git a/Packages/com.unity.render-pipelines.core/Editor/StyleSheets/RenderGraphViewer.uss b/Packages/com.unity.render-pipelines.core/Editor/StyleSheets/RenderGraphViewer.uss index 8421e734293..6c6e65c7ec0 100644 --- a/Packages/com.unity.render-pipelines.core/Editor/StyleSheets/RenderGraphViewer.uss +++ b/Packages/com.unity.render-pipelines.core/Editor/StyleSheets/RenderGraphViewer.uss @@ -48,9 +48,7 @@ /* Header */ #header-container { flex-direction: row; - border-width: 0px 0 1px 0; height: var(--header-container-height); - border-color: var(--unity-colors-inspector_titlebar-border); } #header-container > VisualElement { flex-direction: row; @@ -70,7 +68,6 @@ } #search-field { - margin-bottom: 4px; max-width: 200px; } @@ -94,10 +91,9 @@ #auto-pause-toggle { padding: 3px 6px 3px 6px; - flex-grow: 1; + flex-grow: 0; flex-shrink: 1; -unity-text-align: middle-center; - border-width: 0px 0px 0px 0px; min-width: 94px; height: var(--header-container-height); } @@ -107,8 +103,9 @@ margin-left: 7px; } -#current-execution-dropdown { +#current-execution-toolbar-menu { max-width: 300px; + min-width: 114px; height: var(--header-container-height); } diff --git a/Packages/com.unity.render-pipelines.core/Editor/UXML/RenderGraphViewer.uxml b/Packages/com.unity.render-pipelines.core/Editor/UXML/RenderGraphViewer.uxml index 0c71bc3e945..bcdfcf8b9fc 100644 --- a/Packages/com.unity.render-pipelines.core/Editor/UXML/RenderGraphViewer.uxml +++ b/Packages/com.unity.render-pipelines.core/Editor/UXML/RenderGraphViewer.uxml @@ -6,15 +6,14 @@ - - - + + + - diff --git a/Packages/com.unity.render-pipelines.core/Editor/UXML/VolumeEditor.uxml b/Packages/com.unity.render-pipelines.core/Editor/UXML/VolumeEditor.uxml index 7d9e4742b95..22d89d92071 100644 --- a/Packages/com.unity.render-pipelines.core/Editor/UXML/VolumeEditor.uxml +++ b/Packages/com.unity.render-pipelines.core/Editor/UXML/VolumeEditor.uxml @@ -1,17 +1,17 @@