Version: Unity 6.1 Alpha (6000.1)
LanguageEnglish
  • C#

Button

class in UnityEngine.UIElements

/

Inherits from:UIElements.TextElement

/

Implemented in:UnityEngine.UIElementsModule

Suggest a change

Success!

Thank you for helping us improve the quality of Unity Documentation. Although we cannot accept all submissions, we do read each suggested change from our users and will make updates where applicable.

Close

Submission failed

For some reason your suggested change could not be submitted. Please <a>try again</a> in a few minutes. And thank you for taking the time to help us improve the quality of Unity Documentation.

Close

Cancel

Description

This is a clickable button.

A Button has a text label element that can respond to pointer and mouse events. You can add an icon to pair it with the text by assigning a Background (Texture, RenderTexture, Sprite or Vector Image) to the iconImage API or icon-image UXML property. Please note that by providing an icon image, this will automatically update the Button's hierarchy to contain an Image and a text label element.

By default, a single left mouse click activates the Button's Clickable property button. To remove this activator, or add more activators, modify the clickable.activators property. For details, see ManipulatorActivationFilter.

To bind a Button's text value to the contents of a variable, set the binding-path property in the UXML file, or the bindingPath property in the C# code, to a string that contains the variable name.

For more information, refer to UXML element Button.

Static Properties

iconOnlyUssClassName The USS class name for Button elements with an icon only, no text.
iconUssClassName The USS class name for Button elements with an icon.
imageUSSClassName The USS class name of the image element that will be used to display the icon texture.
ussClassName USS class name of elements of this type.

Properties

clickable Clickable MouseManipulator for this Button.
iconImage The Texture, Sprite, or VectorImage that will represent an icon within a Button element.

Constructors

Button Constructs a Button.

Events

clicked Callback triggered when the button is clicked.
onClick Obsolete. Use clicked instead.

Inherited Members

Static Properties

selectableUssClassName USS class name of selectable text elements.
ussClassName USS class name of elements of this type.
disabledUssClassName USS class name of local disabled elements.

Properties

binding Binding object that will be updated.
bindingPath Path of the target property to be bound.
canGrabFocus Return true if the element can be focused.
delegatesFocus Whether the element should delegate the focus to its children.
focusable True if the element can be focused.
focusController Return the focus controller for this element.
tabIndex An integer used to sort focusables in the focus ring. Must be greater than or equal to zero.
displayTooltipWhenElided When true, a tooltip displays the full version of elided text, and also if a tooltip had been previously provided, it will be overwritten.
emojiFallbackSupport Specifies the order in which the system should look for Emoji characters when rendering text. If this setting is enabled, the global Emoji Fallback list will be searched first for characters defined as Emoji in the Unicode 14.0 standard.
enableRichText When false, rich text tags will not be parsed.
experimental Returns the TextElement experimental interface.
isElided Returns true if text is elided, false otherwise.
parseEscapeSequences Specifies whether escape sequences are displayed as is or if they are replaced by the character they represent.
selection Retrieves this TextElement's ITextSelection
text The text to be displayed.
childCount Number of child elements in this object's contentContainer.
contentContainer Child elements are added to it, usually this is the same as the element itself.
contentRect The rectangle of the content area of the element, in the local space of the element. (Read Only)
customStyle The custom style properties accessor of a VisualElement (Read Only).
dataSource Assigns a data source to this VisualElement which overrides any inherited data source. This data source is inherited by all children.
dataSourcePath Path from the data source to the value.
dataSourceType The possible type of data source assignable to this VisualElement. This information is only used by the UI Builder as a hint to provide some completion to the data source path field when the effective data source cannot be specified at design time.
disablePlayModeTint Play-mode tint is applied by default unless this is set to true. It's applied hierarchically to this VisualElement and to all its children that exist on an editor panel.
enabledInHierarchy Returns true if the VisualElement is enabled in its own hierarchy.
enabledSelf Returns true if the VisualElement is enabled locally.
generateVisualContent Delegate function to generate the visual content of a visual element.
hierarchy Access to this element physical hierarchy
languageDirection Indicates the directionality of the element's text. The value will propagate to the element's children.
layout The position and size of the VisualElement relative to its parent, as computed by the layout system. (Read Only)
localBound Returns a Rect representing the Axis-aligned Bounding Box (AABB) after applying the transform, but before applying the layout translation.
name The name of this VisualElement.
paddingRect The rectangle of the padding area of the element, in the local space of the element.
panel The panel onto which this VisualElement is attached.
parent The parent of this VisualElement.
pickingMode Determines if this element can be pick during mouseEvents or IPanel.Pick queries.
resolvedStyle The final rendered style values of a visual element, as it's rendered in the current frame.(Read Only)
scaledPixelsPerPoint Return the resulting scaling from the panel that considers the screen DPI and the customizable scaling factor, but not the transform scale of the element and its ancestors. See Panel.scaledPixelsPerPoint. This should only be called on elements that are part of a panel.
schedule Retrieves this VisualElement's IVisualElementScheduler
style Sets the style values on a VisualElement.
styleSheets Returns a VisualElementStyleSheetSet that manipulates style sheets attached to this element.
this[int] Retrieves the child element at a specific index.
tooltip Text to display inside an information box after the user hovers the element for a small amount of time. This is only supported in the Editor UI.
transform Returns a transform object for this VisualElement. ITransform
usageHints A combination of hint values that specify high-level intended usage patterns for the VisualElement. This property can only be set when the VisualElement is not yet part of a Panel. Once part of a Panel, this property becomes effectively read-only, and attempts to change it will throw an exception. The specification of proper UsageHints drives the system to make better decisions on how to process or accelerate certain operations based on the anticipated usage pattern. Note that those hints do not affect behavioral or visual results, but only affect the overall performance of the panel and the elements within. It's advised to always consider specifying the proper UsageHints, but keep in mind that some UsageHints might be internally ignored under certain conditions (e.g. due to hardware limitations on the target platform).
userData This property can be used to associate application-specific user data with this VisualElement.
viewDataKey Used for view data persistence, such as tree expanded states, scroll position, or zoom level.
visible Indicates whether or not this element should be rendered.
visualTreeAssetSource Stores the asset reference, if the generated element is cloned from a VisualTreeAsset.
worldBound Returns a Rect representing the Axis-aligned Bounding Box (AABB) after applying the world transform.
worldTransform Returns a matrix that cumulates the following operations (in order): -Local Scaling -Local Rotation -Local Translation -Layout Translation -Parent worldTransform (recursive definition - consider identity when there is no parent)

Public Methods

HasBubbleUpHandlers Return true if event handlers for the event propagation BubbleUp phase have been attached to this object.
HasTrickleDownHandlers Returns true if event handlers, for the event propagation TrickleDown phase, are attached to this object.
RegisterCallback Adds an event handler to the instance. If the event handler has already been registered for the same phase (either TrickleDown or BubbleUp) then this method has no effect.
RegisterCallbackOnce Adds an event handler to the instance. If the event handler has already been registered for the same phase (either TrickleDown or BubbleUp) then this method has no effect. The event handler is automatically unregistered after it has been invoked exactly once.
UnregisterCallback Remove callback from the instance.
Blur Tell the element to release the focus.
Focus Attempt to give the focus to this element.
MeasureTextSize Computes the size needed to display a text string based on element style values such as font, font-size, word-wrap, and so on.
Add Add an element to this element's contentContainer
AddToClassList Adds a class to the class list of the element in order to assign styles from USS. Note the class name is case-sensitive.
BringToFront Brings this element to the end of its parent children list. The element will be visually in front of any overlapping sibling elements.
Children Returns the elements from its contentContainer.
ClassListContains Searches for a class in the class list of this element.
Clear Remove all child elements from this element's contentContainer
ClearBinding Removes a binding from the element.
ClearBindings Removes all bindings from the element.
ClearClassList Removes all classes from the class list of this element. AddToClassList
Contains Checks if this element is an ancestor of the specified child element.
ContainsPoint Checks if the specified point intersects with this VisualElement's layout.
ElementAt Retrieves the child element at a specific index.
EnableInClassList Enables or disables the class with the given name.
FindAncestorUserData Searches up the hierarchy of this VisualElement and retrieves stored userData, if any is found.
FindCommonAncestor Finds the lowest common ancestor between two VisualElements inside the VisualTree hierarchy.
GetBinding Gets the binding instance for the provided targeted property.
GetBindingInfos Gets information on all the bindings of the current element.
GetClasses Retrieve the classes for this element.
GetDataSourceContext Queries the dataSource and dataSourcePath of a binding object.
GetFirstAncestorOfType Walks up the hierarchy, starting from this element's parent, and returns the first VisualElement of this type
GetFirstOfType Walks up the hierarchy, starting from this element, and returns the first VisualElement of this type
GetHierarchicalDataSourceContext Queries the dataSource and dataSourcePath inherited from the hierarchy.
HasBinding Allows to know if a target property has a binding associated to it.
IndexOf Retrieves the child index of the specified VisualElement.
Insert Insert an element into this element's contentContainer
MarkDirtyRepaint Triggers a repaint of the VisualElement on the next frame. This method is called internally when a change occurs that requires a repaint, such as when UIElements.BaseField_1.value is changed or the text in a Label. If you are implementing a custom control, you can call this method to trigger a repaint when a change occurs that requires a repaint such as when using generateVisualContent to render a mesh and the mesh data has now changed.
PlaceBehind Places this element right before the sibling element in their parent children list. If the element and the sibling position overlap, the element will be visually behind of its sibling.
PlaceInFront Places this element right after the sibling element in their parent children list. If the element and the sibling position overlap, the element will be visually in front of its sibling.
Remove Removes this child from the contentContainerhierarchy.
RemoveAt Remove the child element located at this position from this element's contentContainer
RemoveFromClassList Removes a class from the class list of the element.
RemoveFromHierarchy Removes this element from its parent hierarchy.
SendEvent Sends an event to the event handler.
SendToBack Sends this element to the beginning of its parent children list. The element will be visually behind any overlapping sibling elements.
SetBinding Assigns a binding between a target and a source.
SetEnabled Changes the VisualElement enabled state. A disabled VisualElement does not receive most events.
Sort Reorders child elements from this VisualElement contentContainer.
ToggleInClassList Toggles between adding and removing the given class name from the class list.
TryGetBinding Gets the binding instance for the provided targeted property.
TryGetDataSourceContext Queries the dataSource and dataSourcePath of a binding object.
TryGetLastBindingToSourceResult Returns the last BindingResult of a binding object from the UI to the data source.
TryGetLastBindingToUIResult Returns the last BindingResult of a binding object from the data source to the UI.

Protected Methods

HandleEventBubbleUp Executes logic on this element during the BubbleUp phase, immediately before this element's BubbleUp callbacks. Calling StopPropagation will prevent further invocations of this method along the propagation path.
HandleEventTrickleDown Executes logic on this element during the TrickleDown phase, immediately after this element's TrickleDown callbacks. Calling StopPropagation will prevent further invocations of this method along the propagation path.
NotifyPropertyChanged Informs the data binding system that a property of a control has changed.