Legacy Documentation: Version 2018.2 (Go to current version)
  • C#


class in UnityEngine.UI


Inherits from:UI.Selectable

Implements interfaces:IBeginDragHandler, ICanvasElement, IDragHandler, IEndDragHandler, IEventSystemHandler, ILayoutElement, IPointerClickHandler, ISubmitHandler, IUpdateSelectedHandler

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.




Turn a simple label into a interactable input field.


asteriskCharThe character used for password fields.
caretBlinkRateThe blinking rate of the input caret, defined as the number of times the blink cycle occurs per second.
caretColorThe custom caret color used if customCaretColor is set.
caretPositionCurrent InputField caret position (also selection tail).
caretWidthThe width of the caret in pixels.
characterLimitHow many characters the input field is limited to. 0 = infinite.
characterValidationThe type of validation to perform on a character.
contentTypeSpecifies the type of the input text content.
customCaretColorShould a custom caret color be used or should the textComponent.color be used.
inputTypeThe type of input expected. See InputField.InputType.
isFocusedDoes the InputField currently have focus and is able to process events.
keyboardTypeThey type of mobile keyboard that will be used.
lineTypeThe LineType used by the InputField.
multiLineIf the input field supports multiple lines.
onEndEditThe Unity Event to call when editing has ended.
onValidateInputThe function to call to validate the input characters.
onValueChangedAccessor to the OnChangeEvent.
placeholderThis is an optional ‘empty’ graphic to show that the InputField text field is empty.
readOnlySet the InputField to be read only.
selectionAnchorPositionThe beginning point of the selection.
selectionColorThe color of the highlight to show which characters are selected.
selectionFocusPositionThe end point of the selection.
shouldHideMobileInputShould the mobile keyboard input be hidden.
textThe current value of the input field.
textComponentThe Text component that is going to be used to render the text to screen.
touchScreenKeyboardThe TouchScreenKeyboard being used to edit the Input Field.
wasCanceledIf the InputField was canceled and will revert back to the original text upon DeactivateInputField.

Public Methods

ActivateInputFieldFunction to activate the InputField to begin processing Events.
DeactivateInputFieldFunction to deactivate the InputField to stop the processing of Events and send OnSubmit if not canceled.
ForceLabelUpdateForce the label to update immediatly. This will recalculate the positioning of the caret and the visible text.
GraphicUpdateCompleteSee ICanvasElement.GraphicUpdateComplete.
LayoutCompleteSee ICanvasElement.LayoutComplete.
MoveTextEndMove the caret index to end of text.
MoveTextStartMove the caret index to start of text.
OnBeginDragCapture the OnBeginDrag callback from the EventSystem and ensure we should listen to the drag events to follow.
OnDeselectWhat to do when the event system sends a Deselect Event.
OnDragWhat to do when the event system sends a Drag Event.
OnEndDragCapture the OnEndDrag callback from the EventSystem and cancel the listening of drag events.
OnPointerClickWhat to do when the event system sends a pointer click Event.
OnPointerDownWhat to do when the event system sends a pointer down Event.
OnSubmitWhat to do when the event system sends a submit Event.
OnUpdateSelectedWhat to do when the event system sends a Update selected Event.
ProcessEventHelper function to allow separate events to be processed by the InputField.
RebuildRebuild the input fields geometry. (caret and highlight).

Protected Methods

AppendAppend a character to the input field.
ClampPosClamp a value (by reference) between 0 and the current text length.
GetCharacterIndexFromPositionThe character that is under the mouse.
KeyPressedProcess the Event and perform the appropriate action for that key.
OnDisableSee MonoBehaviour.OnDisable.
OnFocusFocus the input field initializing properties.
SelectAllHighlight the whole InputField.
SendOnSubmitConvenience function to make functionality to send the SubmitEvent easier.
UpdateLabelUpdate the Text associated with this input field.
ValidatePredefined validation functionality for different characterValidation types.


OnValidateInputCustom validation callback.

Inherited Members

Static Properties

allSelectablesList of all the selectable objects currently active in the scene.


enabledEnabled Behaviours are Updated, disabled Behaviours are not.
isActiveAndEnabledHas the Behaviour had enabled called.
gameObjectThe game object this component is attached to. A component is always attached to a game object.
tagThe tag of this game object.
transformThe Transform attached to this GameObject.
runInEditModeAllow a specific instance of a MonoBehaviour to run in edit mode (only available in the editor).
useGUILayoutDisabling this lets you skip the GUI layout phase.
hideFlagsShould the object be hidden, saved with the Scene or modifiable by the user?
nameThe name of the object.
animationTriggersThe AnimationTriggers for this selectable object.
animatorConvenience function to get the Animator component on the GameObject.
colorsThe ColorBlock for this selectable object.
imageConvenience function that converts the referenced Graphic to a Image, if possible.
interactableUse to enable or disable the ability to select a selectable UI element (for example, a Button).
navigationThe Navigation setting for this selectable object.
spriteStateThe SpriteState for this selectable object.
targetGraphicGraphic that will be transitioned upon.
transitionThe type of transition that will be applied to the targetGraphic when the state changes.

Public Methods

BroadcastMessageCalls the method named methodName on every MonoBehaviour in this game object or any of its children.
CompareTagIs this game object tagged with tag ?
GetComponentReturns the component of Type type if the game object has one attached, null if it doesn't.
GetComponentInChildrenReturns the component of Type type in the GameObject or any of its children using depth first search.
GetComponentInParentReturns the component of Type type in the GameObject or any of its parents.
GetComponentsReturns all components of Type type in the GameObject.
GetComponentsInChildrenReturns all components of Type type in the GameObject or any of its children.
GetComponentsInParentReturns all components of Type type in the GameObject or any of its parents.
SendMessageCalls the method named methodName on every MonoBehaviour in this game object.
SendMessageUpwardsCalls the method named methodName on every MonoBehaviour in this game object and on every ancestor of the behaviour.
CancelInvokeCancels all Invoke calls on this MonoBehaviour.
InvokeInvokes the method methodName in time seconds.
InvokeRepeatingInvokes the method methodName in time seconds, then repeatedly every repeatRate seconds.
IsInvokingIs any invoke on methodName pending?
StartCoroutineStarts a coroutine.
StopAllCoroutinesStops all coroutines running on this behaviour.
StopCoroutineStops the first coroutine named methodName, or the coroutine stored in routine running on this behaviour.
GetInstanceIDReturns the instance id of the object.
ToStringReturns the name of the GameObject.
FindSelectableFinds the selectable object next to this one.
FindSelectableOnDownFind the selectable object below this one.
FindSelectableOnLeftFind the selectable object to the left of this one.
FindSelectableOnRightFind the selectable object to the right of this one.
FindSelectableOnUpFind the selectable object above this one.
OnMoveDetermine in which of the 4 move directions the next selectable object should be found.
OnPointerEnterEvaluate current state and transition to appropriate state.
OnPointerExitEvaluate current state and transition to normal state.
OnPointerUpEvaluate eventData and transition to appropriate state.
OnSelectSet selection and transition to appropriate state.
SelectSelects this Selectable.
IsActiveReturns true if the GameObject and the Component are active.
IsDestroyedReturns true if the native representation of the behaviour has been destroyed.

Protected Methods

DoStateTransitionTransition the Selectable to the entered state.
InstantClearStateClear any internal state from the Selectable (used when disabling).
IsHighlightedReturns whether the selectable is currently 'highlighted' or not.
IsPressedWhether the current selectable is being pressed.
UpdateSelectionStateInternally update the selection state of the Selectable.
AwakeSee MonoBehaviour.Awake.
OnBeforeTransformParentChangedSee MonoBehaviour.OnBeforeTransformParentChanged.
OnCanvasGroupChangedSee MonoBehaviour.OnCanvasGroupChanged.
OnCanvasHierarchyChangedCalled when the state of the parent Canvas is changed.
OnDestroySee MonoBehaviour.OnDestroy.
OnDidApplyAnimationPropertiesSee LayoutGroup.OnDidApplyAnimationProperties.
OnEnableSee MonoBehaviour.OnEnable.
OnRectTransformDimensionsChangeThis callback is called if an associated RectTransform has its dimensions changed.
OnTransformParentChangedSee MonoBehaviour.OnRectTransformParentChanged.
OnValidateSee MonoBehaviour.OnValidate.
ResetSee MonoBehaviour.Reset.
StartSee MonoBehaviour.Start.

Static Methods

printLogs message to the Unity Console (identical to Debug.Log).
DestroyRemoves a gameobject, component or asset.
DestroyImmediateDestroys the object obj immediately. You are strongly recommended to use Destroy instead.
DontDestroyOnLoadDo not destroy the target Object when loading a new Scene.
FindObjectOfTypeReturns the first active loaded object of Type type.
FindObjectsOfTypeReturns a list of all active loaded objects of Type type.
InstantiateClones the object original and returns the clone.


boolDoes the object exist?
operator !=Compares if two objects refer to a different object.
operator ==Compares two object references to see if they refer to the same object.


AwakeAwake is called when the script instance is being loaded.
FixedUpdateFrame-rate independent MonoBehaviour.FixedUpdate message for physics calculations.
LateUpdateLateUpdate is called every frame, if the Behaviour is enabled.
OnAnimatorIKCallback for setting up animation IK (inverse kinematics).
OnAnimatorMoveCallback for processing animation movements for modifying root motion.
OnApplicationFocusSent to all GameObjects when the player gets or loses focus.
OnApplicationPauseSent to all GameObjects when the application pauses.
OnApplicationQuitSent to all game objects before the application quits.
OnAudioFilterReadIf OnAudioFilterRead is implemented, Unity will insert a custom filter into the audio DSP chain.
OnBecameInvisibleOnBecameInvisible is called when the renderer is no longer visible by any camera.
OnBecameVisibleOnBecameVisible is called when the renderer became visible by any camera.
OnCollisionEnterOnCollisionEnter is called when this collider/rigidbody has begun touching another rigidbody/collider.
OnCollisionEnter2DSent when an incoming collider makes contact with this object's collider (2D physics only).
OnCollisionExitOnCollisionExit is called when this collider/rigidbody has stopped touching another rigidbody/collider.
OnCollisionExit2DSent when a collider on another object stops touching this object's collider (2D physics only).
OnCollisionStay:ref::OnCollisionStay is called once per frame for every collider/rigidbody that is touching rigidbody/collider.
OnCollisionStay2DSent each frame where a collider on another object is touching this object's collider (2D physics only).
OnConnectedToServerCalled on the client when you have successfully connected to a server.
OnControllerColliderHitOnControllerColliderHit is called when the controller hits a collider while performing a Move.
OnDestroyDestroying the attached Behaviour will result in the game or Scene receiving OnDestroy.
OnDisconnectedFromServerCalled on the client when the connection was lost or you disconnected from the server.
OnDrawGizmosImplement OnDrawGizmos if you want to draw gizmos that are also pickable and always drawn.
OnDrawGizmosSelectedImplement OnDrawGizmosSelected to draw a gizmo if the object is selected.
OnEnableThis function is called when the object becomes enabled and active.
OnFailedToConnectCalled on the client when a connection attempt fails for some reason.
OnFailedToConnectToMasterServerCalled on clients or servers when there is a problem connecting to the MasterServer.
OnGUIOnGUI is called for rendering and handling GUI events.
OnJointBreakCalled when a joint attached to the same game object broke.
OnJointBreak2DCalled when a Joint2D attached to the same game object breaks.
OnMasterServerEventCalled on clients or servers when reporting events from the MasterServer.
OnMouseDown OnMouseDown is called when the user has pressed the mouse button while over the GUIElement or Collider.
OnMouseDragOnMouseDrag is called when the user has clicked on a GUIElement or Collider and is still holding down the mouse.
OnMouseEnterCalled when the mouse enters the GUIElement or Collider.
OnMouseExitCalled when the mouse is not any longer over the GUIElement or Collider.
OnMouseOverCalled every frame while the mouse is over the GUIElement or Collider.
OnMouseUpOnMouseUp is called when the user has released the mouse button.
OnMouseUpAsButtonOnMouseUpAsButton is only called when the mouse is released over the same GUIElement or Collider as it was pressed.
OnNetworkInstantiateCalled on objects which have been network instantiated with Network.Instantiate.
OnParticleCollisionOnParticleCollision is called when a particle hits a Collider.
OnParticleSystemStoppedOnParticleSystemStopped is called when all particles in the system have died, and no new particles will be born. New particles cease to be created either after Stop is called, or when the duration property of a non-looping system has been exceeded.
OnParticleTriggerOnParticleTrigger is called when any particles in a particle system meet the conditions in the trigger module.
OnPlayerConnectedCalled on the server whenever a new player has successfully connected.
OnPlayerDisconnectedCalled on the server whenever a player disconnected from the server.
OnPostRenderOnPostRender is called after a camera finished rendering the Scene.
OnPreCullOnPreCull is called before a camera culls the Scene.
OnPreRenderOnPreRender is called before a camera starts rendering the Scene.
OnRenderImageOnRenderImage is called after all rendering is complete to render image.
OnRenderObjectOnRenderObject is called after camera has rendered the Scene.
OnSerializeNetworkViewUsed to customize synchronization of variables in a script watched by a network view.
OnServerInitializedCalled on the server whenever a Network.InitializeServer was invoked and has completed.
OnTransformChildrenChangedThis function is called when the list of children of the transform of the GameObject has changed.
OnTransformParentChangedThis function is called when the parent property of the transform of the GameObject has changed.
OnTriggerEnter OnTriggerEnter is called when the GameObject collides with another GameObject.
OnTriggerEnter2DSent when another object enters a trigger collider attached to this object (2D physics only).
OnTriggerExitOnTriggerExit is called when the Collider other has stopped touching the trigger.
OnTriggerExit2DSent when another object leaves a trigger collider attached to this object (2D physics only).
OnTriggerStayOnTriggerStay is called once per physics update for every Collider other that is touching the trigger.
OnTriggerStay2DSent each frame where another object is within a trigger collider attached to this object (2D physics only).
OnValidateThis function is called when the script is loaded or a value is changed in the inspector (Called in the editor only).
OnWillRenderObjectOnWillRenderObject is called for each camera if the object is visible and not a UI element.
ResetReset to default values.
StartStart is called on the frame when a script is enabled just before any of the Update methods are called the first time.
UpdateUpdate is called every frame, if the MonoBehaviour is enabled.

Did you find this page useful? Please give it a rating: