Documentation

Unity Engine


User Manual

Script Reference

Unity Engine


LeftCustomContainer

Gets the left-aligned VisualElement container to the right of the HierarchyViewItem.Name.
Read time 1 minuteLast updated 11 days ago

Definition

  • Type: Property
  • Namespace: Unity.Hierarchy
  • Assembly: UnityEngine.HierarchyModule
public VisualElement LeftCustomContainer { get; }

Remarks

The following example displays how many children each collapsed item has in the Hierarchy window. It uses
LeftCustomContainer
to host a
Label
that shows the number of child nodes in parentheses next to any collapsed item. To use this example, save the script in a folder called
Assets/Editor/CountWhenCollapsed
. Scripts in an
Editor
folder can use the Hierarchy module API without additional setup. If you save the script outside of an
Editor
folder, you must enable the Hierarchy built-in module in the Package Manager window, which also adds the module to your Player builds.

Examples

using Unity.Hierarchy;using Unity.Hierarchy.Editor;using UnityEditor;using UnityEngine.UIElements;namespace Unity.HierarchySamples.Editor{ class CountWhenCollapsed { const string k_ChildrenCountUssClassName = "hierarchy-children-count"; [InitializeOnLoadMethod] static void Initialize() { HierarchyWindow.BindViewItem += OnBindViewItem; } static void OnBindViewItem(HierarchyWindow window, HierarchyView view, HierarchyViewItem item) { HierarchyNode node = item.Node; int childrenCount = view.ViewModel.GetChildrenCount(node); Label label = item.LeftCustomContainer.Q<Label>(className: k_ChildrenCountUssClassName); if (childrenCount > 0 && view.ViewModel.DoesNotHaveFlags(node, HierarchyNodeFlags.Expanded)) { if (label == null) { label = new Label(); label.AddToClassList(k_ChildrenCountUssClassName); item.LeftCustomContainer.Add(label); } label.text = $"({childrenCount})"; label.style.display = DisplayStyle.Flex; } else { if (label != null) label.style.display = DisplayStyle.None; } } }}