Version: 2023.1
  • C#



Suggest a change


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.


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.




Offers a set of values that describe the intended usage patterns of a specific VisualElement.


None No particular hints applicable.
DynamicTransform Marks a VisualElement that changes its transformation often (i.e. position, rotation or scale). When specified, this flag hints the system to optimize rendering of the VisualElement for recurring transformation changes. The VisualElement's vertex transformation will be done by the GPU when possible on the target platform. Please note that the number of VisualElements to which this hint effectively applies can be limited by target platform capabilities. For such platforms, it is recommended to prioritize use of this hint to only the VisualElements with the highest frequency of transformation changes.
GroupTransform Marks a VisualElement that hosts many children with DynamicTransform applied on them. A common use-case of this hint is a VisualElement that represents a "viewport" within which there are many DynamicTransform VisualElements that can move individually in addition to the "viewport" element also often changing its transformation. However, if the contents of the aforementioned "viewport" element are mostly static (not moving) then it is enough to use the DynamicTransform hint on that element instead of GroupTransform. Internally, an element hinted with GroupTransform will force a separate draw batch with its world transformation value, but in the same time it will avoid changing the transforms of all its descendants whenever a transformation change occurs on the GroupTransform element.
MaskContainer Marks a VisualElement that hosts non-rectangular descendants using the "overflow: hidden;" style. Non-rectangular masks are implemented with the stencil. If applicable, the renderer breaks the batch to preemptively set the stencil state, before and after drawing the descendants, so that the descendants won't have to set them at the next masking level. When using this flag, consecutive stencil push/pop operations are cheap and don't require modifying the stencil reference. As a result, the batch doesn't need to be broken for each push/pop operation. Consecutive push/push or pop/pop operations are still expensive. Avoid cases that involve many subtrees, where each subtree uses 2 or more levels of masking, to avoid consecutive push/push or pop/pop operations.
DynamicColor Marks a VisualElement that changes its color often (background-color, border-color, etc.). This will store the element's colors in an optimized storage suitable for frequent changes, such as animation.