docs.unity3d.com
Search Results for

    Show / Hide Table of Contents

    Class Tabs

    A navigation component that allows users to switch between different views or sections.

    Inheritance
    object
    CallbackEventHandler
    Focusable
    VisualElement
    BaseVisualElement
    Tabs
    Implements
    IEventHandler
    IResolvedStyle
    ITransform
    ITransitionAnimations
    IExperimentalFeatures
    IVisualElementScheduler
    IContextOverrideElement
    IAdditionalDataHolder
    INotifyValueChanged<int>
    Inherited Members
    BaseVisualElement.contextPrefix
    BaseVisualElement.scaleOverride
    BaseVisualElement.themeOverride
    BaseVisualElement.langOverride
    BaseVisualElement.layoutDirectionOverride
    BaseVisualElement.preferredTooltipPlacementOverride
    BaseVisualElement.tooltipDelayMsOverride
    BaseVisualElement.GetLayoutDirectionUssClassName(Dir)
    VisualElement.disabledUssClassName
    VisualElement.SetActivePseudoState(bool)
    VisualElement.SetCheckedPseudoState(bool)
    VisualElement.Focus()
    VisualElement.SendEvent(EventBase)
    VisualElement.SetEnabledFromHierarchy(bool)
    VisualElement.SetEnabled(bool)
    VisualElement.MarkDirtyRepaint()
    VisualElement.IsMarkedForRepaint()
    VisualElement.ContainsPoint(Vector2)
    VisualElement.Overlaps(Rect)
    VisualElement.DoMeasure(float, VisualElement.MeasureMode, float, VisualElement.MeasureMode)
    VisualElement.ToString()
    VisualElement.GetClasses()
    VisualElement.ClearClassList()
    VisualElement.AddToClassList(string)
    VisualElement.RemoveFromClassList(string)
    VisualElement.ToggleInClassList(string)
    VisualElement.EnableInClassList(string, bool)
    VisualElement.ClassListContains(string)
    VisualElement.FindAncestorUserData()
    VisualElement.SetBinding(BindingId, Binding)
    VisualElement.GetBinding(BindingId)
    VisualElement.TryGetBinding(BindingId, out Binding)
    VisualElement.GetBindingInfos()
    VisualElement.GetBindingInfos(List<BindingInfo>)
    VisualElement.HasBinding(BindingId)
    VisualElement.ClearBinding(BindingId)
    VisualElement.ClearBindings()
    VisualElement.GetHierarchicalDataSourceContext()
    VisualElement.GetDataSourceContext(BindingId)
    VisualElement.TryGetDataSourceContext(BindingId, out DataSourceContext)
    VisualElement.TryGetLastBindingToUIResult(in BindingId, out BindingResult)
    VisualElement.TryGetLastBindingToSourceResult(in BindingId, out BindingResult)
    VisualElement.Add(VisualElement)
    VisualElement.Insert(int, VisualElement)
    VisualElement.Remove(VisualElement)
    VisualElement.RemoveAt(int)
    VisualElement.Clear()
    VisualElement.ElementAt(int)
    VisualElement.IndexOf(VisualElement)
    VisualElement.Children()
    VisualElement.Sort(Comparison<VisualElement>)
    VisualElement.BringToFront()
    VisualElement.SendToBack()
    VisualElement.PlaceBehind(VisualElement)
    VisualElement.PlaceInFront(VisualElement)
    VisualElement.RemoveFromHierarchy()
    VisualElement.GetFirstOfType<T>()
    VisualElement.GetFirstAncestorOfType<T>()
    VisualElement.Contains(VisualElement)
    VisualElement.FindCommonAncestor(VisualElement)
    VisualElement.viewDataKey
    VisualElement.userData
    VisualElement.canGrabFocus
    VisualElement.focusController
    VisualElement.disablePlayModeTint
    VisualElement.usageHints
    VisualElement.transform
    VisualElement.scaledPixelsPerPoint
    VisualElement.layout
    VisualElement.contentRect
    VisualElement.paddingRect
    VisualElement.worldBound
    VisualElement.localBound
    VisualElement.worldTransform
    VisualElement.hasActivePseudoState
    VisualElement.hasInactivePseudoState
    VisualElement.hasHoverPseudoState
    VisualElement.hasCheckedPseudoState
    VisualElement.hasEnabledPseudoState
    VisualElement.hasDisabledPseudoState
    VisualElement.hasFocusPseudoState
    VisualElement.hasRootPseudoState
    VisualElement.pickingMode
    VisualElement.name
    VisualElement.enabledInHierarchy
    VisualElement.enabledSelf
    VisualElement.languageDirection
    VisualElement.visible
    VisualElement.generateVisualContent
    VisualElement.dataSource
    VisualElement.dataSourcePath
    VisualElement.dataSourceType
    VisualElement.experimental
    VisualElement.hierarchy
    VisualElement.cacheAsBitmap
    VisualElement.parent
    VisualElement.panel
    VisualElement.visualTreeAssetSource
    VisualElement.this[int]
    VisualElement.childCount
    VisualElement.schedule
    VisualElement.style
    VisualElement.resolvedStyle
    VisualElement.customStyle
    VisualElement.styleSheets
    VisualElement.tooltip
    Focusable.Blur()
    Focusable.focusable
    Focusable.tabIndex
    Focusable.delegatesFocus
    CallbackEventHandler.RegisterCallback<TEventType>(EventCallback<TEventType>, TrickleDown)
    CallbackEventHandler.RegisterCallbackOnce<TEventType>(EventCallback<TEventType>, TrickleDown)
    CallbackEventHandler.RegisterCallback<TEventType, TUserArgsType>(EventCallback<TEventType, TUserArgsType>, TUserArgsType, TrickleDown)
    CallbackEventHandler.RegisterCallbackOnce<TEventType, TUserArgsType>(EventCallback<TEventType, TUserArgsType>, TUserArgsType, TrickleDown)
    CallbackEventHandler.RegisterCallback<TEventType>(EventCallback<TEventType>, CallbackOptions)
    CallbackEventHandler.RegisterCallback<TEventType, TUserArgsType>(EventCallback<TEventType, TUserArgsType>, TUserArgsType, CallbackOptions)
    CallbackEventHandler.UnregisterCallback<TEventType>(EventCallback<TEventType>, TrickleDown)
    CallbackEventHandler.UnregisterCallback<TEventType>(EventCallback<TEventType>, CallbackOptions)
    CallbackEventHandler.UnregisterCallback<TEventType, TUserArgsType>(EventCallback<TEventType, TUserArgsType>, TrickleDown)
    CallbackEventHandler.UnregisterCallback<TEventType, TUserArgsType>(EventCallback<TEventType, TUserArgsType>, CallbackOptions)
    CallbackEventHandler.UnregisterAllRemovableCallbacks()
    CallbackEventHandler.HasTrickleDownHandlers()
    CallbackEventHandler.HasBubbleUpHandlers()
    CallbackEventHandler.ExecuteDefaultActionAtTarget(EventBase)
    CallbackEventHandler.HandleEventBubbleUp(EventBase)
    CallbackEventHandler.HandleEventTrickleDown(EventBase)
    CallbackEventHandler.ExecuteDefaultAction(EventBase)
    CallbackEventHandler.NotifyPropertyChanged(in BindingId)
    object.Equals(object)
    object.Equals(object, object)
    object.GetHashCode()
    object.GetType()
    object.MemberwiseClone()
    object.ReferenceEquals(object, object)
    Namespace: Unity.AppUI.UI
    Assembly: Unity.AppUI.dll
    Syntax
    [UxmlElement]
    public class Tabs : BaseVisualElement, IEventHandler, IResolvedStyle, ITransform, ITransitionAnimations, IExperimentalFeatures, IVisualElementScheduler, IContextOverrideElement, IAdditionalDataHolder, INotifyValueChanged<int>
    Remarks

    Tabs make it easy to explore and switch between different views or functional aspects of an app. They enable content organization at a high level, such as switching between views, data sets, or functional aspects of an app.

    Tabs organize content across different screens, data sets, and other interactions. They consist of a list of tab items that can contain text labels and/or icons. When a tab is selected, it displays an indicator to show which tab is active.

    Note: Tabs should be used at the top level of navigation, not for subordinate or lower-level views.

    The component supports both horizontal and vertical orientations, different sizes, and can be configured with various styling options like emphasized or justified layouts.

    Constructors

    Tabs()

    Default constructor.

    Declaration
    public Tabs()

    Fields

    animatedIndicatorUssClassName

    The Tabs animated indicator styling class.

    Declaration
    public const string animatedIndicatorUssClassName = "appui-tabs__indicator--animated"
    Field Value
    Type Description
    string

    containerUssClassName

    The Tabs container styling class.

    Declaration
    public const string containerUssClassName = "appui-tabs__container"
    Field Value
    Type Description
    string

    emphasizedUssClassName

    The Tabs emphasized mode styling class.

    Declaration
    public const string emphasizedUssClassName = "appui-tabs--emphasized"
    Field Value
    Type Description
    string

    indicatorUssClassName

    The Tabs indicator styling class.

    Declaration
    public const string indicatorUssClassName = "appui-tabs__indicator"
    Field Value
    Type Description
    string

    justifiedUssClassName

    The Tabs justified mode styling class.

    Declaration
    public const string justifiedUssClassName = "appui-tabs--justified"
    Field Value
    Type Description
    string

    orientationUssClassName

    The Tabs direction styling class.

    Declaration
    public const string orientationUssClassName = "appui-tabs--"
    Field Value
    Type Description
    string

    scrollViewUssClassName

    The Tabs ScrollView styling class.

    Declaration
    public const string scrollViewUssClassName = "appui-tabs__scroll-view"
    Field Value
    Type Description
    string

    sizeUssClassName

    The Tabs size styling class.

    Declaration
    public const string sizeUssClassName = "appui-tabs--size-"
    Field Value
    Type Description
    string

    ussClassName

    The Tabs main styling class.

    Declaration
    public const string ussClassName = "appui-tabs"
    Field Value
    Type Description
    string

    Properties

    bindItem

    Method to bind the TabItem.

    Declaration
    [CreateProperty]
    public Action<TabItem, int> bindItem { get; set; }
    Property Value
    Type Description
    Action<TabItem, int>

    contentContainer

    The virtual content container of the Tabs.

    Declaration
    public override VisualElement contentContainer { get; }
    Property Value
    Type Description
    VisualElement
    Overrides
    VisualElement.contentContainer

    direction

    The direction of the Tabs. Horizontal or Vertical.

    Declaration
    [CreateProperty]
    [UxmlAttribute]
    public Direction direction { get; set; }
    Property Value
    Type Description
    Direction

    emphasized

    The emphasized mode of the Tabs.

    Declaration
    [CreateProperty]
    [UxmlAttribute]
    public bool emphasized { get; set; }
    Property Value
    Type Description
    bool

    itemContainer

    The item container of the Tabs.

    Declaration
    public VisualElement itemContainer { get; }
    Property Value
    Type Description
    VisualElement

    items

    The current list of items used to populate the Tabs.

    Declaration
    [CreateProperty(ReadOnly = true)]
    public IList items { get; }
    Property Value
    Type Description
    IList

    justified

    The justified mode of the Tabs.

    Declaration
    [CreateProperty]
    [UxmlAttribute]
    public bool justified { get; set; }
    Property Value
    Type Description
    bool

    size

    The size of the Tabs.

    Declaration
    [CreateProperty]
    [UxmlAttribute]
    public Size size { get; set; }
    Property Value
    Type Description
    Size

    sourceItems

    Collection of items used to populate the Tabs.

    Declaration
    [CreateProperty]
    public IList sourceItems { get; set; }
    Property Value
    Type Description
    IList

    unbindItem

    Method to unbind the TabItem.

    Declaration
    [CreateProperty]
    public Action<TabItem, int> unbindItem { get; set; }
    Property Value
    Type Description
    Action<TabItem, int>

    value

    The value of the Tabs. This is the index of the selected TabItem.

    Declaration
    [CreateProperty]
    [UxmlAttribute]
    public int value { get; set; }
    Property Value
    Type Description
    int

    Methods

    GetOrientationUssClassName(Direction)

    Declaration
    public static string GetOrientationUssClassName(Direction enumValue)
    Parameters
    Type Name Description
    Direction enumValue
    Returns
    Type Description
    string

    GetSizeUssClassName(Size)

    Declaration
    public static string GetSizeUssClassName(Size enumValue)
    Parameters
    Type Name Description
    Size enumValue
    Returns
    Type Description
    string

    GoToNext()

    Go to the next TabItem.

    Declaration
    public bool GoToNext()
    Returns
    Type Description
    bool

    True if the next TabItem is selected, false otherwise.

    GoToPrevious()

    Go to the previous TabItem.

    Declaration
    public bool GoToPrevious()
    Returns
    Type Description
    bool

    True if the previous TabItem is selected, false otherwise.

    SetValueWithoutNotify(int)

    Set the value of the Tabs without notifying the change.

    Declaration
    public void SetValueWithoutNotify(int newValue)
    Parameters
    Type Name Description
    int newValue

    The new value.

    Exceptions
    Type Condition
    ValueOutOfRangeException

    Throws if the value is out of range.

    Implements

    IEventHandler
    IResolvedStyle
    ITransform
    ITransitionAnimations
    IExperimentalFeatures
    IVisualElementScheduler
    IContextOverrideElement
    IAdditionalDataHolder
    INotifyValueChanged<T>

    Extension Methods

    VisualElementExtensions.FindNavController(VisualElement)
    RegisterUpdateCallbackExtensions.RegisterUpdateCallback(VisualElement, EventCallback<UpdateEvent>)
    RegisterUpdateCallbackExtensions.UnregisterUpdateCallback(VisualElement, EventCallback<UpdateEvent>)
    VisualElementExtensions.EnableDynamicTransform(VisualElement, bool)
    VisualElementExtensions.EnablePicking(VisualElement, bool)
    VisualElementExtensions.GetChildren<T>(VisualElement, bool)
    VisualElementExtensions.GetContextProvider<T>(VisualElement)
    VisualElementExtensions.GetContextProvider<T>(VisualElement, string)
    VisualElementExtensions.GetContext<T>(VisualElement)
    VisualElementExtensions.GetContext<T>(VisualElement, string)
    VisualElementExtensions.GetExclusiveRootElement(VisualElement)
    VisualElementExtensions.GetLastAncestorOfType<T>(VisualElement)
    VisualElementExtensions.GetPreferredTooltipPlacement(VisualElement)
    VisualElementExtensions.GetSelfContext<T>(VisualElement)
    VisualElementExtensions.GetSelfContext<T>(VisualElement, string)
    VisualElementExtensions.GetTooltipContent(VisualElement)
    VisualElementExtensions.GetTooltipTemplate(VisualElement)
    VisualElementExtensions.HasAncestorOfType<T>(VisualElement, bool)
    VisualElementExtensions.HasAncestorsOfType<T>(VisualElement)
    VisualElementExtensions.IsContextProvider<T>(VisualElement)
    VisualElementExtensions.IsContextProvider<T>(VisualElement, string)
    VisualElementExtensions.IsInvisible(VisualElement)
    VisualElementExtensions.IsOnScreen(VisualElement)
    VisualElementExtensions.ProvideContext<T>(VisualElement, string, T)
    VisualElementExtensions.ProvideContext<T>(VisualElement, T)
    VisualElementExtensions.RegisterContextChangedCallback<T>(VisualElement, string, EventCallback<ContextChangedEvent<T>>)
    VisualElementExtensions.RegisterContextChangedCallback<T>(VisualElement, EventCallback<ContextChangedEvent<T>>)
    VisualElementExtensions.SetPreferredTooltipPlacement(VisualElement, OptionalEnum<PopoverPlacement>)
    VisualElementExtensions.SetTooltipContent(VisualElement, VisualElementExtensions.TooltipContentCallback)
    VisualElementExtensions.SetTooltipTemplate(VisualElement, VisualElement)
    VisualElementExtensions.UnregisterContextChangedCallback<T>(VisualElement, string, EventCallback<ContextChangedEvent<T>>)
    VisualElementExtensions.UnregisterContextChangedCallback<T>(VisualElement, EventCallback<ContextChangedEvent<T>>)
    In This Article
    Back to top
    Copyright © 2026 Unity Technologies — Trademarks and terms of use
    • Legal
    • Privacy Policy
    • Cookie Policy
    • Do Not Sell or Share My Personal Information
    • Your Privacy Choices (Cookie Settings)