docs.unity3d.com
Search Results for

    Show / Hide Table of Contents

    Class TextField

    A text input component that allows users to enter and edit text.

    Inheritance
    object
    CallbackEventHandler
    Focusable
    VisualElement
    BaseVisualElement
    ExVisualElement
    TextField
    SearchBar
    Implements
    IEventHandler
    IResolvedStyle
    ITransform
    ITransitionAnimations
    IExperimentalFeatures
    IVisualElementScheduler
    IContextOverrideElement
    IAdditionalDataHolder
    IInputElement<string>
    IValidatableElement<string>
    INotifyValueChanging<string>
    INotifyValueChanged<string>
    Inherited Members
    ExVisualElement.outlineColor
    ExVisualElement.backgroundColor
    ExVisualElement.passMask
    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 TextField : ExVisualElement, IEventHandler, IResolvedStyle, ITransform, ITransitionAnimations, IExperimentalFeatures, IVisualElementScheduler, IContextOverrideElement, IAdditionalDataHolder, IInputElement<string>, IValidatableElement<string>, INotifyValueChanging<string>, INotifyValueChanged<string>
    Remarks

    TextField is a fundamental input component that enables users to enter and edit text content. It provides a versatile interface for capturing user input in various formats like plain text, passwords, and validated content.

    The component supports different sizes, placeholder text, leading and trailing icons, and various customization options to fit different use cases and design requirements.

    When using TextField for sensitive information like passwords, make sure to enable the isPassword property to mask the input appropriately.

    Examples

    Basic TextField Example: Simple text input with placeholder.

    <TextField placeholder="Enter your name" size="Size.M" />

    Password Field Example: Secure password input with validation.

    <TextField
        isPassword="true"
        maskChar="*"
        placeholder="Enter password"
        maxLength="20"
        leadingIconName="lock"
    />

    Search Field Example: Search input with icons.

    <TextField
        leadingIconName="search"
        trailingIconName="clear"
        placeholder="Search..."
        size="Size.L"
    />

    Validated Input Example: Email input with validation.

    var textField = new TextField();
    textField.placeholder = "Enter email";
    textField.validateValue = (value) => {
        return value.Contains("@") && value.Contains(".");
    };

    Constructors

    TextField()

    Default constructor.

    Declaration
    public TextField()

    TextField(string)

    Construct a TextField with a predefined text value.

    Declaration
    public TextField(string value)
    Parameters
    Type Name Description
    string value

    A default text value.

    Remarks

    No event will be triggered when setting the text value during construction.

    Fields

    inputContainerUssClassName

    The TextField input container styling class.

    Declaration
    public const string inputContainerUssClassName = "appui-textfield__inputcontainer"
    Field Value
    Type Description
    string

    inputUssClassName

    The TextField input styling class.

    Declaration
    public const string inputUssClassName = "appui-textfield__input"
    Field Value
    Type Description
    string

    leadingContainerUssClassName

    The TextField leading container styling class.

    Declaration
    public const string leadingContainerUssClassName = "appui-textfield__leadingcontainer"
    Field Value
    Type Description
    string

    leadingIconUssClassName

    The TextField leading icon styling class.

    Declaration
    public const string leadingIconUssClassName = "appui-textfield__leadingicon"
    Field Value
    Type Description
    string

    placeholderUssClassName

    The TextField placeholder styling class.

    Declaration
    public const string placeholderUssClassName = "appui-textfield__placeholder"
    Field Value
    Type Description
    string

    sizeUssClassName

    The TextField size styling class.

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

    trailingContainerUssClassName

    The TextField trailing container styling class.

    Declaration
    public const string trailingContainerUssClassName = "appui-textfield__trailingcontainer"
    Field Value
    Type Description
    string

    trailingIconUssClassName

    The TextField trailing icon styling class.

    Declaration
    public const string trailingIconUssClassName = "appui-textfield__trailingicon"
    Field Value
    Type Description
    string

    ussClassName

    The TextField main styling class.

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

    Properties

    contentContainer

    The content container of the TextField.

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

    invalid

    The invalid state of the TextField.

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

    isPassword

    Whether the TextField is a password field.

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

    isReadOnly

    Whether the TextField is read-only.

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

    leadingElement

    The TextField leading element.

    Declaration
    public VisualElement leadingElement { get; set; }
    Property Value
    Type Description
    VisualElement

    leadingIconName

    The leading icon name.

    Declaration
    [CreateProperty]
    [UxmlAttribute]
    public string leadingIconName { get; set; }
    Property Value
    Type Description
    string

    maskChar

    The TextField mask character.

    Declaration
    [CreateProperty]
    [UxmlAttribute]
    public char maskChar { get; set; }
    Property Value
    Type Description
    char

    maxLength

    The TextField max length.

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

    placeholder

    The TextField placeholder text.

    Declaration
    [CreateProperty]
    [UxmlAttribute]
    public string placeholder { get; set; }
    Property Value
    Type Description
    string

    size

    The TextField size.

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

    trailingElement

    The TextField trailing element.

    Declaration
    public VisualElement trailingElement { get; set; }
    Property Value
    Type Description
    VisualElement

    trailingIconName

    The trailing icon name.

    Declaration
    [CreateProperty]
    [UxmlAttribute]
    public string trailingIconName { get; set; }
    Property Value
    Type Description
    string

    validateValue

    The validation function for the TextField.

    Declaration
    [CreateProperty]
    public Func<string, bool> validateValue { get; set; }
    Property Value
    Type Description
    Func<string, bool>

    value

    The TextField value.

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

    Methods

    GetSizeUssClassName(Size)

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

    SetValueWithoutNotify(string)

    Set the TextField value without notifying the change.

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

    The new value of the TextField.

    Implements

    IEventHandler
    IResolvedStyle
    ITransform
    ITransitionAnimations
    IExperimentalFeatures
    IVisualElementScheduler
    IContextOverrideElement
    IAdditionalDataHolder
    IInputElement<TValue>
    IValidatableElement<TValue>
    INotifyValueChanging<TValue>
    INotifyValueChanged<T>

    Extension Methods

    NotifyValueChangingExtensions.RegisterValueChangingCallback<TValue>(INotifyValueChanging<TValue>, EventCallback<ChangingEvent<TValue>>)
    NotifyValueChangingExtensions.UnregisterValueChangingCallback<TValue>(INotifyValueChanging<TValue>, EventCallback<ChangingEvent<TValue>>)
    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)