OverlayToolbar The content of your overlay in horizontal toolbar layout form.
Implement this to return your visual element representing the horizontal toolbar layout of your overlay.
using System.Collections.Generic; using UnityEditor; using UnityEditor.Overlays; using UnityEditor.Toolbars; using UnityEngine; using UnityEngine.UIElements; [Overlay(typeof(SceneView), "My Toolbar Overlay")] class MyOverlay : Overlay, ICreateToolbar { static readonly string[] k_ToolbarItems = new[] { "MyToolbarItem", "SomeOtherToolbarItem" }; public override VisualElement CreatePanelContent() { return new Label("I'm the content shown in panel mode!"); } public IEnumerable<string> toolbarElements => k_ToolbarItems; } [EditorToolbarElement("SomeOtherToolbarItem", typeof(SceneView))] class SomeOtherToolbarItem : EditorToolbarToggle { public SomeOtherToolbarItem() { icon = EditorGUIUtility.FindTexture("CustomTool"); } } // Example toolbar element with multiple controls [EditorToolbarElement("MyToolbarItem", typeof(SceneView))] class MyToolbarItem : OverlayToolbar { public MyToolbarItem() { var icon = AssetDatabase.LoadAssetAtPath<Texture2D>("MyIcon"); Add(new EditorToolbarButton(icon, () => { Debug.Log("Hello!"); })); Add(new EditorToolbarButton(icon, () => { Debug.Log("Hello again!"); })); SetupChildrenAsButtonStrip(); } }