Namespace Unity.AppUI.UI
Classes
Accordion
A collapsible content container that allows users to expand and collapse sections of content.
AccordionItem
Item used inside an Accordion element.
AccordionItemValueChangedEvent
Event for when an accordion item value has changed.
ActionBar
A contextual action bar that appears when items are selected in a collection view.
ActionButton
ActionButton UI element.
ActionGroup
A container component that organizes and manages a collection of action buttons.
ActionTriggeredEvent
An Action has been triggered.
AlertDialog
A dialog that interrupts the user's workflow to communicate an important message and acquire a response.
AnchorPopupUtils
Utility class to compute the position of a popup based on the anchor's position and size.
AnchorPopup<T>
Base class for Popup that can be anchored to another UI Element.
AppBar
A customizable top app bar that provides content and actions related to the current screen.
Attachment
Attachment UI element. Displays an attachment with a thumbnail area, title, subtitle, and a delete action button.
Avatar
Avatars are visual elements that represent a user, entity, or content through images or initials.
AvatarGroup
Groups multiple avatars together in a horizontal layout with configurable spacing and overflow handling.
AvatarVariantContext
The Avatar variant context.
BackgroundExtensions
Extension methods for Background objects.
Badge
A small overlay element that displays numerical or status information.
BaseDatePicker
A base date picker control.
BaseDialog
Base class for Dialogs (Dialog, AlertDialog, etc).
BaseGridView
The base class for GridView elements.
BaseSlider<TValue, TScalar>
Base class for any kind of Slider such as TouchSliderFloat, SliderFloat or RangeSliderFloat.
BaseTextElement
Base class for all textual App UI components.
BaseThreadAttachment
Abstract base class for custom thread attachments.
BaseVisualElement
Base class for all non textual App UI components.
BlinkingCursor
A manipulator that makes the cursor of a TextField blink.
BottomNavBar
A navigation component that enables easy switching between top-level destinations.
BottomNavBarItem
A single destination within a BottomNavBar, providing an icon, label, selection state, and click handling.
BoundsField
A UI component for editing 3D bounds with center and size values.
BoundsIntField
A UI component that allows users to input and edit integer bounds values with position and size in 3D space.
BreadcrumbItem
BreadcrumbItem visual element.
BreadcrumbSeparator
BreadcrumbSeparator visual element.
Breadcrumbs
A navigation component that helps users track their location within an application's hierarchy.
Button
A button triggers an action or event when pressed.
Canvas
A scrollable and zoomable container that provides infinite canvas functionality.
CanvasBackground
A CanvasBackground is a VisualElement used as the background of a Canvas.
ChangingEvent<TValue>
THe value changing event.
Checkbox
A control that lets users make a binary choice between two mutually exclusive options.
Chip
A compact element that represents an input, attribute, or action.
CircularProgress
A circular progress indicator that represents loading or processing state.
Clickable
Clickable Manipulator, used on Button elements.
CodeBlock
A reusable code-block VisualElement: a header row with an optional language label and
a copy-to-clipboard button (revealed on hover) above a monospaced body. When App UI's
TextMate integration is enabled (APPUI_ENABLE_SYNTAX_HIGHLIGHTING), the active
grammar and theme are resolved from two USS custom properties on this element:
--codeblock-grammar— GUID string of a TextMateGrammarAsset.--codeblock-theme— GUID string of a TextMateThemeAsset.
appui-code-block--lang-<value> class so per-language grammar mappings can be
expressed declaratively in USS (see PackageResources/Styles/Components/CodeBlock.uss).
Asset resolution from GUID requires the editor; in built players the body falls back to
plain monospaced text.
ColorExtensions
Extensions for working with colors.
ColorField
A field that allows users to select and display colors.
ColorPicker
A color selection component that allows users to pick colors using various input methods including color wheel, RGB sliders, HSV sliders, and hex input.
ColorSlider
A slider component for selecting a color value from a gradient range.
ColorSwatch
A visual element that displays a color or gradient with customizable appearance.
ColorToolbar
A toolbar that contains a color swatch for the previous color, a color swatch for the current color, and an eye dropper button.
ColorWheel
A customizable color wheel component for intuitive color selection in Unity UI applications.
ContextChangedEvent<T>
Event raised when the context has changed.
ContextProvider
A container component that provides contextual settings to its children in the UI hierarchy.
DateField
A form input control that allows users to select a date through text input or a calendar picker interface.
DatePicker
A component for selecting dates with an intuitive calendar interface.
DateRangeField
A form input component that allows users to select a date range with a visual calendar picker.
DateRangePicker
A customizable component for selecting a range of dates.
DefaultPropertyDrawerAttribute
Use this attribute to draw a property with the default PropertyField.
Dialog
A reusable dialog component that displays content in a modal window, often used for important information or actions that require user attention.
DialogTrigger
DialogTrigger serves as a wrapper around a Dialog and its associated trigger, linking the Dialog's open state with the trigger's press state. Additionally, it allows you to customize the type and positioning of the Dialog.
Divider
A visual separator that creates a thematic break between different content sections.
DoubleField
A field component that allows users to input and edit double precision floating-point numbers.
DpiChangedEvent
The DPI has changed.
Draggable
Manipulator which monitors Press, Hold and Release events in order to drag visuals.
Dragger
Manipulator that allows dragging from a container component.
Drawer
A sliding panel that contains supplementary content.
DrawerHeader
A drawer header visual element.
DropZone
A container that accepts drag and drop operations for content placement.
DropZoneController
A manipulator that enables drag-and-drop functionality on UI elements with customizable accept logic.
Dropdown
A form control that lets users select a value from a list of options.
DropdownItem
Dropdown item UI element.
EnumExtensions
Extension methods for enums.
EnumField
EnumField UI element.
EnumerableExtensions
Enumerable extension methods.
ExVisualElement
An enhanced VisualElement with advanced styling capabilities including shadows, borders, and outlines.
FieldLabel
A label for a field.
FloatField
A text field that accepts floating-point numeric values.
FloatingActionButton
A circular button that promotes a primary action in the application.
FocusControllerExtensions
Extension methods for FocusController.
GeneratedEnumExtensions
GradientExtensions
Extensions for the Gradient class.
GridView
A virtualized grid layout component that displays a collection of items in a scrollable grid format with selection capabilities.
Heading
Display headings with various size options for content hierarchy.
HelpBox
HelpBox UI element.
HelpText
A help text.
Icon
A versatile icon component that displays graphical symbols with customizable styles and sizes.
IconButton
A button component that displays only an icon, ideal for compact UI actions.
InputLabel
A versatile label component for form inputs with support for required fields, help text, and various layout options.
IntField
A text field component that accepts and validates integer number input.
KeyCodeExtensions
Extensions for the KeyCode enum.
KeyboardFocusController
A Manipulator that adds a class to the target element when it is keyboard focused. This is useful for accessibility purposes.
LinearProgress
A progress indicator that displays progress linearly along a horizontal bar.
Link
A clickable text element that can navigate to a URL or trigger an action.
ListViewItem
A versatile list item component that displays content with a title, subtitle, thumbnail, and optional actions.
LocalizedTextElement
A text element that supports localization and string formatting with variables.
LongField
A numerical input field that accepts and validates long integer values.
Mask
A visual element that applies color masking effects to create visual overlays and highlights.
MaskField
MaskField UI element.
MasonryGridView
A GridView that arranges items in a masonry layout pattern, similar to Pinterest's layout.
MentionPicker
MentionPicker UI element. Displays a suggestion list for mentioning users or entities.
Menu
A container for menu items organized in a vertical list.
MenuBuilder
A utility class to build a Menu programmatically.
MenuDivider
A horizontal line that separates menu items into distinct groups.
MenuItem
An interactive item within a menu that triggers actions or displays sub-menus.
MenuSection
A labeled section within a menu that groups related menu items.
MenuTrigger
A wrapper to display a menu when a trigger has been activated.
Modal
A modal dialog that displays as an overlay blocking interaction with the rest of the UI.
NavigationRail
A side navigation component that supports side-rail navigation patterns.
NavigationRailItem
A NavigationRailItem is a selectable item in a NavigationRail.
NotifyValueChangingExtensions
Extensions for INotifyValueChanging<TValue>.
NumericalField<TValue>
Numerical Field UI element.
OptionalScaleDrawerAttribute
Use this attribute to draw a property with the optional ScaleDrawer.
OptionalThemeDrawerAttribute
Use this attribute to draw a property with the optional ThemeDrawer.
PageIndicator
A component that displays a series of dots to indicate and navigate between multiple pages or slides.
PageView
A container component that displays a single child at a time with built-in navigation.
PanAndZoomable
This manipulator allows panning and zooming of the content.
Pane
A resizable container element designed to be used as a child of SplitView.
Panel
The root UI container that provides layered architecture for the main interface, popups, notifications, and tooltips.
Picker
A customizable UI component for selecting one or multiple items from a list.
PickerItem
An Item from a Picker.
Picker<TItem, TTitle>
A Picker UI element with a title and a list of items.
PinchGestureEvent
Event sent in a Panel when a pinch gesture is recognized.
PointerEventExtensions
Extensions for UI-Toolkit PointerEvent
Popover
A popup anchored to another UI element with flexible positioning and optional arrow pointer.
Popup
This is the base class for any UI component that needs to be displayed over the rest of the user interface.
PopupNotification<T>
A base class for notification displayed at a specific anchor of the screen.
Popup<T>
A generic base class for popups.
Preloader
A visual element that indicates content is being loaded or processed.
Pressable
Pressable Manipulator, used on Button elements.
Progress
A base class for all progress UI elements. This class is not meant to be used directly.
Quote
A visual element that helps highlight and distinguish quoted or featured content from regular text.
Radio
A toggle control that allows users to select one option from a set of mutually exclusive choices.
RadioGroup
A container component that manages a set of radio buttons, allowing users to select one option from multiple choices.
RangeSliderFloat
A dual-thumb slider component for selecting a range of floating point values.
RangeSliderInt
A UI component that lets users select a range of integer values by dragging handles along a track.
ReactionPicker
ReactionPicker UI element. Displays an emoji grid for selecting reactions.
RectExtensions
Extension methods for the Rect class.
RectField
A specialized input field for editing Unity Rect values with position and size components.
RectIntField
A field component for editing integer rectangle values with position (x,y) and size (width,height).
RegisterUpdateCallbackExtensions
Extensions to register a VisualElement update callback. This callback will be invoked when App UI main loop is updating. At runtime, the callback will be invoked once per frame. In the Editor, the callback will be invoked once per Editor update.
RepliesView
A simple replies container backed by a ScrollView. Drop-in replacement for the subset of ListView used by Thread: supports makeItem / bindItem / unbindItem / destroyItem, an itemsSource, and a manual RefreshItems(). Items are realized eagerly — there is no virtualization — which keeps the layout stable inside popovers where dynamic-height ListView constantly relayouts itself.
ResizeHandle
An element that can be dragged to resize another element.
RuntimeContextMenuEvent
Event sent in a VisualElement when a context menu is requested at runtime if it has a RuntimeContextMenuManipulator attached.
RuntimeContextMenuManipulator
A manipulator that handles context menu interactions for UI elements.
SVSquare
A highly interactive 2D color selector that allows users to pick colors by adjusting saturation and brightness values.
ScaleDrawerAttribute
Use this attribute to draw a property with the ScaleDrawer.
Scrollable
A Manipulator that allows the user to scroll a target element using your finger or mouse click and drag.
SearchBar
A search input field with a magnifying glass icon that allows users to enter search queries.
SingleExtensions
Extension methods for Single and Double.
SizeContext
The component size context.
SliderFloat
A control that allows users to select a value from a continuous range.
SliderInt
A slider component for selecting an integer value from a range.
Slider<TValue, TScalar, TInputField>
Base class for Sliders (SliderFloat, SliderInt).
Spacer
A layout component that creates consistent spacing between elements.
SplitView
A resizable multi-pane layout component that allows users to adjust the size of each pane using draggable splitters.
SplitViewPaneCollapsedEvent
Event for when the pane of a SplitView is collapsed or expanded.
SplitViewSplitterCountChangedEvent
Event sent when the number of splitters in a SplitView changes.
Splitter
The splitter between the panes.
StackView
A container that manages a stack of items with animated transitions between them, similar to a stack of cards.
StackViewItem
An item in a StackView. It is a container for any UI element and must be used inside a StackView.
Stepper
A control that lets users incrementally adjust a value by pressing the plus or minus buttons.
Styles
General usage styling classes for UI components.
SwipeView
A container that allows users to swipe between multiple items with smooth animations and customizable behavior.
SwipeViewItem
A SwipeViewItem is an item that must be used as a child of a SwipeView.
TabItem
An item used in Tabs bar.
Tabs
A navigation component that allows users to switch between different views or sections.
Text
A versatile text component that displays text content with customizable size and styling options.
TextArea
A multi-line text input field that allows users to enter and edit longer text content.
TextField
A text input component that allows users to enter and edit text.
TextFieldExtensions
Extensions for the TextField class.
TextMateGrammarAsset
A ScriptableObject that stores a TextMate grammar definition. The JSON content can be passed directly to the TextMateLib bindings.
TextMateSyntaxHighlighter
Converts source code to UITK rich text using TextMate grammars and themes. Uses themed/encoded tokenization for optimal performance in static display.
TextMateThemeAsset
A ScriptableObject that stores a TextMate theme definition. The JSON content can be passed directly to the TextMateLib bindings.
ThemeDrawerAttribute
Use this attribute to draw a property with the ThemeDrawer.
Thread
Thread UI element. Main container for a threaded conversation.
ThreadComposer
ThreadComposer UI element. Provides a text input area with submit and attach actions.
ThreadMessage
ThreadMessage UI element. Displays a single message within a thread.
ThreadReaction
ThreadReaction UI element. Displays an emoji reaction with a count.
ThreadReactionBar
ThreadReactionBar UI element. Displays a row of reactions with an add-reaction button.
ThreadResolveMessage
ThreadResolveMessage UI element. Displays a system message indicating a thread was resolved.
ThreadUnresolveMessage
ThreadUnresolveMessage UI element. Displays a system message indicating a thread was unresolved.
Thumb
Thumb UI element.
Toast
A temporary notification that appears at the edge of the screen to display brief messages.
Toggle
A control that allows users to switch between two states: on (checked) and off (unchecked).
Toolbar
A versatile container for organizing command buttons and tools in a horizontal or vertical layout.
Tooltip
A small popup that displays contextual information when hovering over a target element.
TouchSliderFloat
A touch-optimized slider component for selecting floating-point values with support for step increments and custom formatting.
TouchSliderInt
A touch-optimized slider component for selecting integer values within a specified range.
TouchSlider<TValue>
Base class for TouchSlider UI elements (TouchSliderFloat, TouchSliderInt).
TrackpadGestureManipulator
A manipulator that can be used to receive trackpad gestures.
Tray
A popup that slides in from the edge of the screen, commonly used for mobile menus and action sheets.
TreeViewItem
A tree view item that can be used directly in a ScrollView or any vertical container.
UnityObject
Helper class to destroy objects in the editor and in play mode.
UpdateEvent
THe AppUI Update event. At runtime, the callback will be invoked once per frame. In the Editor, the callback will be invoked once per Editor update.
UxmlElementNameAttribute
Attribute to bind a property or field to a UXML element by its name. When used in conjunction with UxmlFilePathAttribute, the source generator will automatically query the element from the visual tree and assign it to the decorated member.
UxmlFilePathAttribute
Attribute to specify the path to the UXML file for a VisualElement
ValueOutOfRangeException
Exception thrown when a Visual Element hasn't been found.
Vector2Field
A numeric input field for editing 2D vector values with X and Y components.
Vector2IntField
A field control that allows users to input or modify a 2D vector with integer components.
Vector2IntLexicographicalComparer
A simple comparer for Vector2Int that compares the x and y values lexicographically.
Vector2LexicographicalComparer
A simple comparer for Vector2 that compares the x and y values lexicographically.
Vector3Field
A UI component for editing 3D vector values with x, y, and z coordinates.
Vector3IntField
A field component that allows users to input and edit 3D integer vectors with X, Y, and Z coordinates.
Vector4Field
A field control that allows users to edit a Vector4 value by inputting its X, Y, Z and W components.
VisualElementExtensions
Extensions for VisualElement class.
VisualElementNotFoundException
Exception thrown when a Visual Element hasn't been found.
Structs
AdditionalStyle
Styling properties that can be applied to a ExVisualElement.
AnimationDescription
An animation description. It contains the duration of the animation, the easing function and the callback.
Pane.State
The state of a Pane.
PositionOptions
Options to pass as argument to ComputePosition(VisualElement, VisualElement, VisualElement, PositionOptions) utility method.
PositionResult
The position result data structure returned in ComputePosition(VisualElement, VisualElement, VisualElement, PositionOptions) utility method.
ReactionInfo
Represents a reaction on a thread message.
SliderMark<TScalar>
Small Data structure which represents a mark on the slider.
SplitView.State
The state of the SplitView.
Interfaces
IAdditionalDataHolder
Interface for any UI element that can hold additional data. This is used internally by App UI.
IContextOverrideElement
Interface for any UI element that can override the current context of the UI.
ICustomColorFieldPicker
Interface for custom ColorField pickers.
IDismissInvocator
Interface that must be implemented by any UI component which wants to request a Dismiss(DismissType) if this component is displayed inside a Popup component.
IFormattable<TValue>
Interface used on UI elements which can be formatted.
IInputElement<TValue>
Interface used on UI elements which handle user input.
INotifyValueChanging<TValue>
Interface that must be implemented to UI components which can change their value progressively, like a Slider.
IPlaceableElement
Interface that should be implemented in UI elements that can be anchored to another UI element.
IPressable
Interface for pressable elements.
ISelectableElement
Interface used on UI elements which handle a selected state.
ISizeableElement
Interface used on UI elements which handle user-defined sizing.
IThreadAttachment
Interface for custom attachments that can be added to a ThreadMessage.
IValidatableElement<TValue>
Interface used on UI elements which handle value validation.
Enums
AlertSemantic
Semantic values used for AlertDialog variants.
AnimationMode
The animation used by Notification to appear and disappear.
AvatarGroupSpacing
The AvatarGroup spacing.
AvatarVariant
The Avatar variant.
BadgeOverlapType
The overlap type of the Badge.
BadgeVariant
The variant of the Badge.
BaseDatePicker.DisplayMode
Represents the display mode of the date picker.
BorderStyle
The style of a border.
ButtonVariant
The variant of the Button.
CanvasControlScheme
The current Canvas control scheme.
Note
The control scheme defines the key bindings for the Canvas manipulator.
- LMB = Left mouse button
- MMB = Middle mouse button (wheel button)
- RMB = Right mouse button
Warning
If a primaryManipulator is set on the Canvas, this manipulator will override the control scheme when the pointer (mouse, trackpad, etc) is used without modifier keys.
CanvasManipulator
The current Canvas manipulator for the primary pointer.
CheckboxState
The possible states for a Checkbox.
Chip.Variant
The possible variants for a Chip.
CollapseDirection
The direction towards which the SplitView's splitter will move to collapse.
ColorPicker.SliderMode
The type of channels sliders to display in the ColorPicker.
ColorPickerType
The type of ColorPicker to open when the ColorField is clicked.
Direction
Direction of a UI container.
Draggable.DragDirection
The direction of the drag.
DrawerAnchor
The anchor of the Drawer. The Drawer will be anchored to the left or right side of the screen.
DrawerVariant
The variant of the Drawer.
ExVisualElement.Passes
Rendering passes that will be executed. This is used to optimize and fine-tune the rendering.
FlexPosition
The position of an element inside a Flex container.
GoToStrategy
The strategy used when going to a specific item in the SwipeView.
GrabMode
The current Grab Mode.
GridView.GridOperations
Available Operations.
GroupAlignment
The alignment of the group of items.
HeadingSize
Heading sizing.
HelpTextVariant
The variant of the HelpText.
HorizontalAnchor
A horizontal anchor.
IconSize
Sizing values for Icon elements.
IconVariant
Variant values for Icon elements.
IndicatorType
The type of indicator to display when a field is required.
LabelType
How to display the label of the NavigationRailItem.
MobilePopupPresentationType
Same as PopupPresentationType but for Mobile explicitly.
ModalFullScreenMode
The FullScreen mode used by a Modal component.
NavigationRailAnchor
The anchor of the Navigation Rail. The Rail will be anchored to the left or right side of the screen.
NotificationStyle
The style used to display the Notification element.
OutsideClickStrategy
The strategy used to determine if a click is outside of the popup.
PickerSelectionType
The type of selection for a Picker.
PopoverPlacement
Possible placements for a Popover.
PopupNotificationPlacement
The placement where the notification should be displayed.
PopupPresentationType
By providing a type prop, you can specify the type of Dialog that is rendered by your DialogTrigger.
Progress.Variant
The progress variant.
RestrictedValuesPolicy
The policy to restrict the values of the slider.
Size
The sizing of UI components.
SpacerSpacing
The spacer spacing.
Spacing
The spacing of UI components.
Splitter.CollapsedState
The collapse state the splitter.
StackViewItemStatus
The status of a StackViewItem.
StackViewOperation
The operation to perform on a StackView.
TextOverflow
The text overflow mode.
TextSize
Sizing values for Text UI element.
ThreadMessageState
The state of a thread message.
ToolbarDockMode
The dock mode of the Toolbar.
TrackDisplayType
The mode to display the track of the slider.
TrayPosition
The position of the Tray.
UxmlFilePathType
Specifies the type of path used for loading UXML files
ValueDisplayMode
The mode to display the value of the slider.
VerticalAnchor
A vertical anchor.
Delegates
AvatarGroup.RenderSurplusDelegate
The render surplus delegate.
FormatFunction<TValue>
A function to format the value of a slider thumb or mark.
MaskField.GetDisplayNameDelegate
Method to get the display name for a specific index in the source items collection.
MaskField.GetMaskValueDelegate
Method to get the mask value for a specific index in the source items collection.
PanAndZoomable.GrabModeChangedDelegate
A delegate that is called when the grab mode changes.
PanAndZoomable.ScrollOffsetChangedDelegate
A delegate that is called when the scroll offset changes.
PanAndZoomable.ZoomChangedDelegate
A delegate that is called when the zoom level changes.
Picker<TItem, TTitle>.BindItemFunc
Method to bind the item data to the Dropdown menu item element.
Picker<TItem, TTitle>.BindTitleFunc
Method to bind the title data to the Dropdown button element.
Slider<TValue, TScalar, TInputField>.ScaleHandler
Handler to scale the value of the slider thumbs and marks.
VisualElementExtensions.TooltipContentCallback
Callback to populate the tooltip content.