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. |
| 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. |