Documentation

Unity Engine


User Manual

Script Reference

Unity Engine


VisualElement

Base class for objects that are part of the UIElements visual tree.
Read time 8 minutesLast updated 4 days ago

Definition

public class VisualElement : Focusable, IEventHandler, IResolvedStyle, ITransform, ITransitionAnimations, IExperimentalFeatures, IVisualElementScheduler

Remarks

VisualElement contains several features that are common to all controls in UIElements, such as layout, styling and event handling. Several other classes derive from it to implement custom rendering and define behaviour for controls.
For more information, refer to VisualElement.
To inherit from VisualElement and create a custom control, refer to Creating a custom control.

Static Fields

Value

Description

disabledUssClassNameUSS class name of local disabled elements.

Constructors

Constructor

Description

VisualElement()Initializes and returns an instance of VisualElement.

Properties

Property

Description

childCountNumber of child elements in this object's contentContainer.
contentContainerChild elements are added to it, usually this is the same as the element itself.
contentRectThe rectangle of the content area of the element, in the local space of the element. (Read Only)
customStyleThe custom style properties accessor of a VisualElement (Read Only).
dataSourceAssigns a data source to this VisualElement which overrides any inherited data source. This data source is inherited by all children.
dataSourcePathPath from the data source to the value.
dataSourceTypeThe possible type of data source assignable to this VisualElement.
disablePlayModeTintPlay-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.
enabledInHierarchyReturns true if the VisualElement is enabled in its own hierarchy.
enabledSelfReturns true if the VisualElement is enabled locally.
experimentalReturns the UIElements experimental interfaces.
generateVisualContentDelegate function to generate the visual content of a visual element.
hierarchyAccess to this element physical hierarchy
this[]Retrieves the child element at a specific index.
languageDirectionIndicates the directionality of the element's text. The value will propagate to the element's children.
layoutThe position and size of the VisualElement relative to its parent, as computed by the layout system. (Read Only)
localBoundReturns a Rect representing the Axis-aligned Bounding Box (AABB) after applying the transform, but before applying the layout translation.
nameThe name of this VisualElement.
paddingRectThe rectangle of the padding area of the element, in the local space of the element.
panelThe panel onto which this VisualElement is attached.
parentThe parent of this VisualElement.
pickingModeDetermines if this element can be pick during mouseEvents or IPanel.Pick queries.
resolvedStyleThe final rendered style values of a visual element, as it's rendered in the current frame.(Read Only)
scaledPixelsPerPointReturn 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 scaledPixelsPerPoint. This should only be called on elements that are part of a panel.
scheduleRetrieves this VisualElement's IVisualElementScheduler
styleSets the style values on a VisualElement.
styleSheetsReturns a VisualElementStyleSheetSet that manipulates style sheets attached to this element.
tooltipText 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.
transformReturns a transform object for this VisualElement. ITransform
usageHintsA 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).
userDataThis property can be used to associate application-specific user data with this VisualElement.
viewDataKeyUsed for view data persistence, such as tree expanded states, scroll position, or zoom level.
visibleIndicates whether or not this element should be rendered.
visualTreeAssetSourceStores the asset reference, if the generated element is cloned from a VisualTreeAsset.
worldBoundReturns a Rect representing the Axis-aligned Bounding Box (AABB) after applying the world transform.
worldTransformReturns 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)

Methods

Method

Description

AddAdd an element to this element's contentContainer
AddToClassListAdds a class to the class list of the element in order to assign styles from USS. Note the class name is case-sensitive.
BringToFrontBrings this element to the end of its parent children list. The element will be visually in front of any overlapping sibling elements.
ChildrenReturns the elements from its contentContainer.
ClassListContainsSearches for a class in the class list of this element.
ClearRemove all child elements from this element's contentContainer
ClearBindingRemoves a binding from the element.
ClearBindingsRemoves all bindings from the element.
ClearClassListRemoves all classes from the class list of this element. VisualElement.AddToClassList
ContainsChecks if this element is an ancestor of the specified child element.
ContainsPointChecks if the specified point intersects with this VisualElement's layout.
ElementAtRetrieves the child element at a specific index.
EnableInClassListEnables or disables the class with the given name.
FindAncestorUserDataSearches up the hierarchy of this VisualElement and retrieves stored userData, if any is found.
FindCommonAncestorFinds the lowest common ancestor between two VisualElements inside the VisualTree hierarchy.
GetBindingGets the binding instance for the provided targeted property.
GetBindingInfosGets information on all the bindings of the current element.
GetClassesRetrieve the classes for this element.
GetDataSourceContextQueries the VisualElement.dataSource and VisualElement.dataSourcePath of a binding object.
GetFirstAncestorOfTypeWalks up the hierarchy, starting from this element's parent, and returns the first VisualElement of this type
GetFirstOfTypeWalks up the hierarchy, starting from this element, and returns the first VisualElement of this type
GetHierarchicalDataSourceContextQueries the VisualElement.dataSource and VisualElement.dataSourcePath inherited from the hierarchy.
HasBindingAllows to know if a target property has a binding associated to it.
IndexOfRetrieves the child index of the specified VisualElement.
InsertInsert an element into this element's contentContainer
MarkDirtyRepaintTriggers 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<TValueType>.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 VisualElement.generateVisualContent to render a mesh and the mesh data has now changed.
PlaceBehindPlaces 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.
PlaceInFrontPlaces 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.
RemoveRemoves this child from the VisualElement.contentContainerVisualElement.hierarchy.
RemoveAtRemove the child element located at this position from this element's contentContainer
RemoveFromClassListRemoves a class from the class list of the element.
RemoveFromHierarchyRemoves this element from its parent hierarchy.
SendEventSends an event to the event handler.
SendToBackSends this element to the beginning of its parent children list. The element will be visually behind any overlapping sibling elements.
SetBindingAssigns a binding between a target and a source.
SetEnabledChanges the VisualElement enabled state. A disabled visual element does not receive most events.
SortReorders child elements from this VisualElement contentContainer.
ToggleInClassListToggles between adding and removing the given class name from the class list.
TryGetBindingGets the binding instance for the provided targeted property.
TryGetDataSourceContextQueries the VisualElement.dataSource and VisualElement.dataSourcePath of a binding object.
TryGetLastBindingToSourceResultReturns the last BindingResult of a binding object from the UI to the data source.
TryGetLastBindingToUIResultReturns the last BindingResult of a binding object from the data source to the UI.

Classes

Class

Description

VisualElement.UxmlSerializedDataThis is used by the code generator when a custom control is using the UxmlElementAttribute.

Structs

Struct

Description

VisualElement.HierarchyHierarchy is a struct allowing access to the hierarchy of visual elements

Enums

Enum

Description

VisualElement.MeasureModeThe modes available to measure VisualElement sizes.

Inheritance