Overlays are persistent and customizable panels and toolbars that are available within Editor Windows. Use Overlays to expose actions and tool options in a convenient and user-controllable way.
This is the base class from which all Overlays inherit. To create an Overlay, return a UnityEngine.UIElements.VisualElement.
using UnityEditor; using UnityEditor.Overlays; using UnityEngine.UIElements; [Overlay(typeof(SceneView), "Selection Count")] class SelectionCount : Overlay { Label m_Label; public override VisualElement CreatePanelContent() { Selection.selectionChanged += () => { if (m_Label != null) m_Label.text = $"Selection Count {Selection.count}"; }; return m_Label = new Label($"Selection Count {Selection.count}"); } }
To create an Overlay that is dockable in a toolbar, see ToolbarOverlay.
ussClassName | USS class name of elements of this type. |
collapsed | Defines whether the overlay is in collapsed form. |
containerWindow | EditorWindow the overlay is contained within. |
displayed | Shows or hides the overlay. |
displayName | Name of overlay used as title. |
floating | Returns true if overlay is floating, returns false if overlay is docked in a corner or in a toolbar. |
floatingPosition | Local position of closest overlay corner to closest dockposition when floating. |
id | Overlay unique ID. |
isInToolbar | Returns true if overlay is docked in a toolbar. |
layout | Describes the presentation mode for an Overlay. |
Close | Remove the Overlay from its OverlayCanvas. |
CreateContent | Create a new VisualElement containing the contents of this Overlay. |
CreatePanelContent | Implement this method to return your visual element content. |
OnCreated | OnCreated is invoked when an Overlay is instantiated in an Overlay Canvas. |
OnWillBeDestroyed | Called when an Overlay is about to be destroyed. |
Undock | If this Overlay is currently in a toolbar, it will be removed and return to a floating state. |
collapsedChanged | Invoked when Overlay.collapsed value is changed. |
displayedChanged | This callback is invoked when the Overlay.displayed value has been changed. |
floatingChanged | Called when the value of floating has changed. |
floatingPositionChanged | This event is invoked when Overlay.floatingPosition is changed. |
layoutChanged | Subscribe to this event to be notified when the Overlay.Layout property is modified. |