25 min read

Source: Roblox Creator Hub · CC BY 4.0 · View source · Code samples: MIT Imported 2026-10-03. Formatting adapted for this site.

TextBox

Inherits from: GuiObject → GuiBase2d → GuiBase → Instance → Object

A TextBox allows the player to provide text input. It behaves similarly to a TextButton, except that a single TextBox can be put in focus by clicking, tapping, or gamepad selection. While in focus, the player can use a keyboard to change the Text property.

Focus State

It is possible to detect and change the focus state of a TextBox:

Text Editing

A TextBox supports text selection through its CursorPosition and SelectionStart properties. Using GetPropertyChangedSignal, you can detect when a selection changes. Additionally, it is possible for players to copy and paste text within a TextBox, enabling basic clipboard support. When the cursor moves outside the visible area while typing or navigating, the TextBox automatically scrolls its viewport to keep the cursor in view.

Text Filtering Notice Games that facilitate player-to-player communication using text, such as custom chat or nametags, must properly filter such text using TextService:FilterStringAsync() or Chat:FilterStringAsync(). If this is not properly done, your game may receive moderation action.

Inherits from: GuiObject

Memory category: Gui

Code samples: View on Creator Hub (TextBox-Secret-Word).

Properties

NameType / ReturnsDescription
TextBox.ClearTextOnFocusbooleanDetermines whether clicking on the TextBox will clear its TextBox.Text property.
TextBox.ContentTextstringA copy of TextBox.Text that contains exactly what is being rendered by the TextBox.
TextBox.CursorPositionintDetermines the offset of the text cursor in bytes, or -1 if there is no cursor.
TextBox.FontEnum.FontDetermines the font used to render text.
TextBox.FontFaceDatatype.FontDetermines the font face used to render text.
TextBox.FontSizeFontSizeDetermines the font size of a TextBox object.
TextBox.LineHeightfloatScales the spacing between lines of text in the TextBox.
TextBox.MaxVisibleGraphemesintThe maximum number of graphemes the TextBox can show.
TextBox.MultiLinebooleanWhen set to true, text inside a TextBox is able to move onto multiple lines.
TextBox.OpenTypeFeaturesstringApplies OpenType typographic features to the text rendered by the TextBox.
TextBox.OpenTypeFeaturesErrorstringRead-only property that describes why the TextBox.OpenTypeFeatures string could not be applied.
TextBox.PlaceholderColor3Color3Sets the text color that gets used when no text has been entered into the TextBox.
TextBox.PlaceholderTextstringSets the text that gets displayed when no text has been entered into the TextBox.
TextBox.RichTextbooleanDetermines whether the TextBox renders the Text string using rich text formatting.
TextBox.SelectionStartintDetermines the starting position of a text selection.
TextBox.ShowNativeInputbooleanIf set to true, input native to the platform is used instead of Roblox's built-in keyboard.
TextBox.TextstringDetermines the string rendered by the TextBox element.
TextBox.TextBoundsVector2The size of a TextBox element's text in offsets.
TextBox.TextColorBrickColor
TextBox.TextColor3Color3Determines the color of non-placeholder rendered text.
TextBox.TextDirectionTextDirectionDirection in which the text is rendered.
TextBox.TextEditablebooleanDetermines whether the player can change the Text.
TextBox.TextFitsbooleanWhether the text fits within the constraints of the TextBox.
TextBox.TextScaledbooleanChanges whether text is resized to fit within the TextBox.
TextBox.TextSizefloatDetermine the line height of text in offsets.
TextBox.TextStrokeColor3Color3Determines the color of the text stroke (outline).
TextBox.TextStrokeTransparencyfloatDetermines the transparency of the text stroke (outline).
TextBox.TextTransparencyfloatDetermines the transparency of the rendered text.
TextBox.TextTruncateTextTruncateControls the truncation of the text displayed in the TextBox.
TextBox.TextWrapboolean
TextBox.TextWrappedbooleanDetermines if text wraps to multiple lines within the TextBox element space, truncating excess text.
TextBox.TextXAlignmentTextXAlignmentDetermines the horizontal alignment of the rendered text.
TextBox.TextYAlignmentTextYAlignmentDetermines the vertical alignment of the rendered text.

Inherited from GuiObject

NameType / ReturnsDescription
GuiObject.ActivebooleanDetermines whether this UI element sinks input.
GuiObject.AnchorPointVector2Determines the origin point of a GuiObject, relative to its absolute size.
GuiObject.AutomaticSizeAutomaticSizeDetermines whether resizing occurs based on child content.
GuiObject.BackgroundColorBrickColorDetermines the color of the GuiObject background.
GuiObject.BackgroundColor3Color3Determines the GuiObject background color.
GuiObject.BackgroundTransparencyfloatDetermines the transparency of the GuiObject background and border.
GuiObject.BorderColorBrickColorDetermines the color of the GuiObject border.
GuiObject.BorderColor3Color3Determines the color of the GuiObject border.
GuiObject.BorderModeBorderModeDetermines in what manner the GuiObject border is laid out relative to its dimensions.
GuiObject.BorderSizePixelintDetermines the pixel width of the GuiObject border.
GuiObject.ClipsDescendantsbooleanDetermines if descendant GuiObjects outside of the bounds of a parent GUI element should render.
GuiObject.DraggablebooleanDetermines whether a GuiObject (and its descendants) can be dragged around the screen.
GuiObject.GuiStateGuiStateDetermines whether the player's mouse is being actively pressed on the GuiObject or not.
GuiObject.InputSinkInputSinkControls whether, and how, the GuiObject sinks input that occurs over it.
GuiObject.InteractablebooleanDetermines whether the GuiButton can be interacted with or not, or if the GuiState of the GuiObject is changing or not.
GuiObject.LayoutOrderintControls the sort order of the GuiObject when used with a UIGridStyleLayout.
GuiObject.NextSelectionDownGuiObjectSets the GuiObject which will be selected when the gamepad selector is moved downward.
GuiObject.NextSelectionLeftGuiObjectSets the GuiObject which will be selected when the gamepad selector is moved to the left.
GuiObject.NextSelectionRightGuiObjectSets the GuiObject which will be selected when the gamepad selector is moved to the right.
GuiObject.NextSelectionUpGuiObjectSets the GuiObject which will be selected when the gamepad selector is moved upward.
GuiObject.PositionUDim2Determines the pixel and scalar position of the GuiObject.
GuiObject.RotationfloatDetermines the number of degrees by which the GuiObject is rotated.
GuiObject.SelectablebooleanDetermine whether the GuiObject can be selected by a gamepad.
GuiObject.SelectionImageObjectGuiObjectOverrides the default selection adornment used for gamepads.
GuiObject.SelectionOrderintThe order of GuiObjects selected by the gamepad UI selection.
GuiObject.SizeUDim2Determines the pixel and scalar size of the GuiObject.
GuiObject.SizeConstraintSizeConstraintSets the Size axes that the GuiObject will be based on, relative to the size of its parent.
GuiObject.TransparencyfloatA mixed property of BackgroundTransparency and TextTransparency.
GuiObject.VisiblebooleanDetermines whether the GuiObject and its descendants will be rendered.
GuiObject.ZIndexintDetermines the order in which a GuiObject renders relative to others.

Inherited from GuiBase2d

NameType / ReturnsDescription
GuiBase2d.AbsolutePositionVector2Describes the actual screen position of a GuiBase2d element, in pixels.
GuiBase2d.AbsoluteRotationfloatDescribes the actual screen rotation of a GuiBase2d element, in degrees.
GuiBase2d.AbsoluteSizeVector2Describes the actual screen size of a GuiBase2d element, in pixels.
GuiBase2d.AutoLocalizebooleanWhen set to true, localization will be applied to this GuiBase2d and its descendants.
GuiBase2d.LocalizebooleanAutomatically set to true when a localization table's LocalizationTable.Root targets this object, or an ancestor of this object.
GuiBase2d.RootLocalizationTableLocalizationTableA reference to a LocalizationTable to be used to apply automated localization to this GuiBase2d and its descendants.
GuiBase2d.SelectionBehaviorDownSelectionBehaviorCustomizes gamepad selection behavior in the down direction.
GuiBase2d.SelectionBehaviorLeftSelectionBehaviorCustomizes gamepad selection behavior in the left direction.
GuiBase2d.SelectionBehaviorRightSelectionBehaviorCustomizes gamepad selection behavior in the right direction.
GuiBase2d.SelectionBehaviorUpSelectionBehaviorCustomizes gamepad selection behavior in the up direction.
GuiBase2d.SelectionGroupbooleanAllows customization of gamepad selection movement.

Inherited from Instance

NameType / ReturnsDescription
Instance.ArchivablebooleanDetermines if an Instance and its descendants can be cloned using Instance:Clone(), and can be saved/published.
Instance.archivableboolean
Instance.CapabilitiesSecurityCapabilitiesThe set of capabilities allowed to be used for scripts inside this container.
Instance.IsInSandboxbooleanIndicates whether the instance is inside a sandboxed container.
Instance.NamestringA non-unique identifier of the Instance.
Instance.ParentInstanceDetermines the hierarchical parent of the Instance.
Instance.PredictionModePredictionModeReflects the client-side prediction mode applied to the instance under server-authoritative physics.
Instance.RobloxLockedbooleanA deprecated property that used to protect CoreGui objects.
Instance.SandboxedbooleanWhen enabled, the instance can only access abilities in its Capabilities list.
Instance.UniqueIdUniqueIdA unique identifier for the instance.

Inherited from Object

NameType / ReturnsDescription
Object.ClassNamestringA read-only string representing the class this Object belongs to.
Object.classNamestring

TextBox.ClearTextOnFocus

Determines whether clicking on the TextBox will clear its TextBox.Text property

FieldValue
typeboolean
security{"read":"None","write":"None"}
thread safetyReadSafe
categoryData
serialization{"can_load":true,"can_save":true}
capabilities["UI"]

TextBox.ContentText

This property provides a copy of Text that contains exactly what is being rendered by the TextBox. This is useful for eliminating style tags used for rich text markup; for example, when RichText is enabled, the ContentText property shows the text as it appears to the user.

RichText Text ContentText
false <b>Hello,<br/> world!</b> <b>Hello,<br/> world!</b>
true <b>Hello,<br/> world!</b> Hello,
world!
FieldValue
typestring
tags["ReadOnly","NotReplicated"]
security{"read":"None","write":"None"}
thread safetyReadSafe
categoryText
serialization{"can_load":false,"can_save":false}
capabilities["UI"]

TextBox.CursorPosition

This property determines the offset of the text cursor in bytes, or -1 if the TextBox is not currently being edited. A value of 1 represents the position before the first byte in the Text property. When used in conjunction with the SelectionStart property, it is possible to both get and set selected text within a TextBox.

Note that the units of this property are bytes and that many unicode characters such as emoji are longer than 1 byte. For instance, if a player types in "Hello👋" ("Hello" immediately followed by the waving hand sign), the cursor position would be 10, not 7, since the emoji uses 4 bytes.

FieldValue
typeint
security{"read":"None","write":"None"}
thread safetyReadSafe
categoryData
serialization{"can_load":false,"can_save":false}
capabilities["UI"]

Code samples: View on Creator Hub (textbox-selections).

TextBox.Font

This property selects one of several pre-defined Font fonts with which the UI element will render its text. Some fonts have bold, italic, and/or light variants.

This property is kept in sync with the TextBox.FontFace property. When setting Font, the FontFace property will be set to Font.fromEnum(value).

FieldValue
typeEnum.Font
tags["Hidden","NotReplicated"]
security{"read":"None","write":"None"}
thread safetyReadSafe
categoryText
serialization{"can_load":true,"can_save":false}
capabilities["UI"]

TextBox.FontFace

This property is similar to the Font property but allows setting fonts that don't exist in Font.

This property is kept in sync with the TextBox.Font property. When setting FontFace, the Font property is set to the corresponding enum value, or to Font.Unknown if there are no matches.

FieldValue
typeDatatype.Font
security{"read":"None","write":"None"}
thread safetyReadSafe
categoryText
serialization{"can_load":true,"can_save":true}
capabilities["UI"]

TextBox.FontSize

Deprecated. This item has been superseded by TextBox.TextSize which should be used in all new work.

This property determines the font size of a TextBox object.

FieldValue
typeFontSize
tags["NotReplicated","Deprecated"]
security{"read":"None","write":"None"}
thread safetyReadSafe
categoryText
serialization{"can_load":true,"can_save":false}
capabilities["UI"]

TextBox.LineHeight

Controls the height of lines, as a multiple of the font's em square size, by scaling the spacing between lines of text in the TextBox. Valid values range from 1.0 (default) to 3.0.

FieldValue
typefloat
security{"read":"None","write":"None"}
thread safetyReadSafe
categoryText
serialization{"can_load":true,"can_save":true}
capabilities["UI"]

TextBox.MaxVisibleGraphemes

This property controls the maximum number of graphemes (or units of text) that are shown on the TextBox, regardless of whether it's showing the PlaceholderText or Text.

Changing the property does not change the position or size of the visible graphemes; the layout will be calculated as if all graphemes are visible.

Setting the property to -1 disables the limit and shows the entirety of the Text.

FieldValue
typeint
security{"read":"None","write":"None"}
thread safetyReadSafe
categoryText
serialization{"can_load":true,"can_save":true}
capabilities["UI"]

TextBox.MultiLine

When set to true, text inside a TextBox is able to move onto multiple lines. This also enables players to use the Enter key to move onto a new line.

FieldValue
typeboolean
security{"read":"None","write":"None"}
thread safetyReadSafe
categoryData
serialization{"can_load":true,"can_save":true}
capabilities["UI"]

TextBox.OpenTypeFeatures

Comma-separated list of OpenType feature tags applied when the TextBox shapes and renders its text, such as zero for slashed zeros or ss03 for a stylistic set. Defaults to an empty string (no additional features).

Each entry uses standard OpenType feature-string syntax (for example, zero or ss03). Only a supported subset is applied; an unsupported feature, malformed string, or bracketed partial-enabling syntax (for example, zero[1:3]) is rejected, with the reason in OpenTypeFeaturesError.

Supports styling.

FieldValue
typestring
security{"read":"None","write":"None"}
thread safetyReadSafe
categoryText
serialization{"can_load":true,"can_save":true}
capabilities["UI"]

TextBox.OpenTypeFeaturesError

Read-only error, if any, from parsing and applying OpenTypeFeatures. Defaults to an empty string when the requested features applied successfully.

An error is produced when:

FieldValue
typestring
tags["ReadOnly","NotReplicated"]
security{"read":"None","write":"None"}
thread safetyReadSafe
categoryText
serialization{"can_load":false,"can_save":true}
capabilities["UI"]

TextBox.PlaceholderColor3

Sets the text color that gets used when no text has been entered into the TextBox.

FieldValue
typeColor3
security{"read":"None","write":"None"}
thread safetyReadSafe
categoryText
serialization{"can_load":true,"can_save":true}
capabilities["UI"]

TextBox.PlaceholderText

Sets the text that gets displayed when no text has been entered into the TextBox.

FieldValue
typestring
security{"read":"None","write":"None"}
thread safetyReadSafe
categoryText
serialization{"can_load":true,"can_save":true}
capabilities["UI"]

TextBox.RichText

This property determines whether the TextBox renders the Text string using rich text formatting. Rich text uses simple markup tags to style sections of the string in bold, italics, specific colors, and more.

Note that when the TextBox has this property enabled and the box gains focus, the player will be able to edit and interact with the complete XML string, including all of the formatting tags. When focus is lost, the text will automatically parse and render the tags as rich text.

FieldValue
typeboolean
security{"read":"None","write":"None"}
thread safetyReadSafe
categoryText
serialization{"can_load":true,"can_save":true}
capabilities["UI"]

TextBox.SelectionStart

Determines the starting position of a text selection, or -1 if the TextBox has no range of selected text. This property uses the same positioning logic as CursorPosition. SelectionStart will be greater than CursorPosition if the cursor is at the beginning of a selection, and less than CursorPosition if the cursor is at the end.

FieldValue
typeint
security{"read":"None","write":"None"}
thread safetyReadSafe
categoryData
serialization{"can_load":false,"can_save":false}
capabilities["UI"]

Code samples: View on Creator Hub (textbox-selections).

TextBox.ShowNativeInput

If set to true, input native to the platform is used instead of Roblox's built-in keyboard.

FieldValue
typeboolean
security{"read":"None","write":"None"}
thread safetyReadSafe
categoryData
serialization{"can_load":true,"can_save":true}
capabilities["UI"]

TextBox.Text

This property determines the text content rendered by the TextBox element. The visual properties of the string rendered to the screen is determined by TextColor3, TextTransparency, TextSize, FontFace, and other properties.

It is possible to render emoji such as 👋 and other symbols. These special symbols aren't affected by the TextColor3 property.

This property may contain newline characters, but it is not possible to type newline characters within the Properties window. Similarly, this property may contain a tab character, but it will render as a space instead.

FieldValue
typestring
security{"read":"None","write":"None"}
thread safetyReadSafe
categoryText
serialization{"can_load":true,"can_save":true}
capabilities["UI"]

TextBox.TextBounds

This read-only property reflects the absolute size of rendered text in offsets. In other words, if you were to try to fit text into a rectangle, this property would reflect the minimum dimensions of the rectangle you would need in order to fit the text.

Using TextService:GetTextSize(), you can predict what TextBounds will be on a TextLabel given a string, Font, TextSize and frame size.

FieldValue
typeVector2
tags["ReadOnly","NotReplicated"]
security{"read":"None","write":"None"}
thread safetyReadSafe
categoryText
serialization{"can_load":false,"can_save":false}
capabilities["UI"]

TextBox.TextColor

Deprecated. This item has been superseded by TextBox.TextColor3 which should be used in all new work.

FieldValue
typeBrickColor
tags["Hidden","NotReplicated","Deprecated"]
security{"read":"None","write":"None"}
thread safetyReadSafe
categoryText
serialization{"can_load":true,"can_save":false}
capabilities["UI"]

TextBox.TextColor3

This property determines the color of non-placeholder text rendered by the TextBox. Text is rendered after the text stroke.

FieldValue
typeColor3
security{"read":"None","write":"None"}
thread safetyReadSafe
categoryText
serialization{"can_load":true,"can_save":true}
capabilities["UI"]

Code samples: View on Creator Hub (Vowel-Detector).

TextBox.TextDirection

TextDirection in which the TextBox renders its text. Defaults to TextDirection.Auto, which picks direction from the text content so right-to-left scripts render right-to-left. TextDirection.LeftToRight and TextDirection.RightToLeft force left-to-right or right-to-left rendering.

Supports styling.

FieldValue
typeTextDirection
security{"read":"None","write":"None"}
thread safetyReadSafe
categoryText
serialization{"can_load":true,"can_save":true}
capabilities["UI"]

TextBox.TextEditable

This property determines whether the player can change the Text through input. It is recommended to disable ClearTextOnFocus when this property is disabled, otherwise the text can be cleared on-focus.

FieldValue
typeboolean
security{"read":"None","write":"None"}
thread safetyReadSafe
categoryData
serialization{"can_load":true,"can_save":true}
capabilities["UI"]

TextBox.TextFits

Whether the text fits within the constraints of the TextBox.

FieldValue
typeboolean
tags["ReadOnly","NotReplicated"]
security{"read":"None","write":"None"}
thread safetyReadSafe
categoryText
serialization{"can_load":false,"can_save":false}
capabilities["UI"]

TextBox.TextScaled

This property determines whether text is scaled so that it fills the box's entire space. When enabled, TextSize is ignored and TextWrapped is automatically enabled. When this property is used for on-screen UI, it may be helpful to use a UITextSizeConstraint to restrict the range of possible text sizes.

See TextLabel.TextScaled for additional recommendations when using this property.

FieldValue
typeboolean
security{"read":"None","write":"None"}
thread safetyReadSafe
categoryText
serialization{"can_load":true,"can_save":true}
capabilities["UI"]

TextBox.TextSize

This property determines the height in offsets of one line of rendered text. The unit is in offsets, not points as in many document editing programs.

FieldValue
typefloat
security{"read":"None","write":"None"}
thread safetyReadSafe
categoryText
serialization{"can_load":true,"can_save":true}
capabilities["UI"]

TextBox.TextStrokeColor3

This property sets the color of the stroke (outline) of the rendered text. This property and TextStrokeTransparency determine the visual appearance of the text stroke.

FieldValue
typeColor3
security{"read":"None","write":"None"}
thread safetyReadSafe
categoryText
serialization{"can_load":true,"can_save":true}
capabilities["UI"]

TextBox.TextStrokeTransparency

This property sets the transparency of the stroke (outline) of the rendered text. This property and TextStrokeColor3 determine the visual appearance of the text stroke.

Since text stroke is simply multiple renderings of the same transparency, this property is essentially multiplicative on itself four times over; for example a TextStrokeTransparency of 0.5 appears about the same as TextTransparency of 0.0625, or 0.5^4.

FieldValue
typefloat
security{"read":"None","write":"None"}
thread safetyReadSafe
categoryText
serialization{"can_load":true,"can_save":true}
capabilities["UI"]

TextBox.TextTransparency

This property determines the transparency of all the text rendered by the TextBox.

FieldValue
typefloat
security{"read":"None","write":"None"}
thread safetyReadSafe
categoryText
serialization{"can_load":true,"can_save":true}
capabilities["UI"]

TextBox.TextTruncate

Controls the truncation of the text displayed in the TextBox.

FieldValue
typeTextTruncate
security{"read":"None","write":"None"}
thread safetyReadSafe
categoryText
serialization{"can_load":true,"can_save":true}
capabilities["UI"]

TextBox.TextWrap

Deprecated. This item has been superseded by TextBox.TextWrapped which should be used in all new work.

FieldValue
typeboolean
tags["NotReplicated","Deprecated"]
security{"read":"None","write":"None"}
thread safetyReadSafe
categoryText
serialization{"can_load":true,"can_save":false}
capabilities["UI"]

TextBox.TextWrapped

When enabled, this property will render text on multiple lines within a TextBox element's space so that TextBounds will never exceed the GuiBase2d.AbsoluteSize of the element.

This is achieved by breaking long lines of text into multiple lines. Line breaks will prefer whitespace; should a long unbroken word exceed the width of the element, that word will be broken into multiple lines.

If further line breaks would cause the vertical height of the text (the Y component of TextBox.TextBounds) to exceed the vertical height of the element (the Y component of GuiBase2d.AbsoluteSize), then that line will not be rendered at all.

FieldValue
typeboolean
security{"read":"None","write":"None"}
thread safetyReadSafe
categoryText
serialization{"can_load":true,"can_save":true}
capabilities["UI"]

TextBox.TextXAlignment

This property determines the horizontal alignment of text rendered within the TextBox element's space. It can be used in conjunction with TextYAlignment to fully determine text alignment on both axes.

This property does not affect the read-only properties TextBounds and TextFits.

FieldValue
typeTextXAlignment
security{"read":"None","write":"None"}
thread safetyReadSafe
categoryText
serialization{"can_load":true,"can_save":true}
capabilities["UI"]

TextBox.TextYAlignment

This property determines the vertical alignment of text rendered within the TextBox element's space. It can be used in conjunction with TextXAlignment to fully determine text alignment on both axes.

This property does not affect the read-only properties TextBounds and TextFits.

FieldValue
typeTextYAlignment
security{"read":"None","write":"None"}
thread safetyReadSafe
categoryText
serialization{"can_load":true,"can_save":true}
capabilities["UI"]

Methods

NameType / ReturnsDescription
TextBox:CaptureFocus()Forces the client to focus on the TextBox.
TextBox:IsFocusedbooleanWhether the TextBox currently has focus.
TextBox:ReleaseFocus()Forces the client to unfocus the TextBox.

Inherited from GuiObject

NameType / ReturnsDescription
GuiObject:TweenPositionbooleanSmoothly moves a GUI to a new UDim2.
GuiObject:TweenSizebooleanSmoothly resizes a GuiObject to a new UDim2.
GuiObject:TweenSizeAndPositionbooleanSmoothly moves a GUI to a new size and position.

Inherited from Instance

NameType / ReturnsDescription
Instance:AddTag()Applies a tag to the instance.
Instance:childrenInstancesReturns an array of the object's children.
Instance:ClearAllChildren()This method destroys all of an instance's children.
Instance:CloneInstanceCreate a copy of an instance and all its descendants, ignoring instances that are not Archivable.
Instance:cloneInstance
Instance:Destroy()Sets the Instance.Parent property to nil, locks the Instance.Parent property, disconnects all connections, and calls Destroy() on all children.
Instance:destroy()
Instance:FindFirstAncestorInstance?Returns the first ancestor of the Instance whose Instance.Name is equal to the given name.
Instance:FindFirstAncestorOfClassInstance?Returns the first ancestor of the Instance whose Object.ClassName is equal to the given className.
Instance:FindFirstAncestorWhichIsAInstance?Returns the first ancestor of the Instance for whom Object:IsA() returns true for the given className.
Instance:FindFirstChildInstance?Returns the first child of the Instance found with the given name.
Instance:findFirstChildInstance
Instance:FindFirstChildOfClassInstance?Returns the first child of the Instance whose ClassName is equal to the given class name.
Instance:FindFirstChildWhichIsAInstance?Returns the first child of the Instance for whom Object:IsA() returns true for the given className.
Instance:FindFirstDescendantInstance?Returns the first descendant found with the given Instance.Name.
Instance:GetActorActor?Returns the Actor associated with the Instance, if any.
Instance:GetAttributeVariantReturns the value which has been assigned to the given attribute name.
Instance:GetAttributeChangedSignalRBXScriptSignalReturns an event that fires when the given attribute changes.
Instance:GetAttributesDictionaryReturns a dictionary of the instance's attributes.
Instance:GetChildrenInstancesReturns an array containing all of the instance's children.
Instance:getChildrenInstances
Instance:GetDebugIdstringReturns a coded string of the debug ID used internally by Roblox.
Instance:GetDescendantsInstancesReturns an array containing all of the descendants of the instance.
Instance:GetFullNamestringReturns a string describing the instance's ancestry.
Instance:GetStyledVariantReturns the styled or explicitly modified value of the specified property, or else the default property value if it hasn't been styled/modified.
Instance:GetStyledPropertyChangedSignalRBXScriptSignalReturns an event that fires when the given style property changes on the instance.
Instance:GetTagsArrayGets an array of all tags applied to the instance.
Instance:HasTagbooleanCheck whether the instance has a given tag.
Instance:IsAncestorOfbooleanReturns true if an Instance is an ancestor of the given descendant.
Instance:IsDescendantOfbooleanReturns true if an Instance is a descendant of the given ancestor.
Instance:isDescendantOfboolean
Instance:IsPropertyModifiedbooleanReturns true if the value stored in the specified property is not equal to the code-instantiated default.
Instance:QueryDescendantsInstancesReturns an array containing all descendants of the instance that match the selector string.
Instance:Remove()Sets the object's Parent to nil, and does the same for all its descendants.
Instance:remove()
Instance:RemoveTag()Removes a tag from the instance.
Instance:ResetPropertyToDefault()Resets a property to its default value.
Instance:SetAttribute()Sets the attribute with the given name to the given value.
Instance:WaitForChildInstanceReturns the child of the Instance with the given name. If the child does not exist, it will yield the current thread until it does.

Inherited from Object

NameType / ReturnsDescription
Object:GetPropertyChangedSignalRBXScriptSignalGet an event that fires when a given property of the object changes.
Object:IsAbooleanReturns true if an object's class matches or inherits from a given class.
Object:isAboolean

TextBox:CaptureFocus

Forces the client to focus on the TextBox.

Returns

TypeDescription
()
FieldValue
securityNone
thread safetyUnsafe
capabilities["UI"]

Code samples: View on Creator Hub (TextBox-CaptureFocus1).

TextBox:IsFocused

Returns true if the TextBox is focused or false if it is not.

Returns

TypeDescription
booleanReturns true if the TextBox is focused or false if it is not.
FieldValue
securityNone
thread safetyUnsafe
capabilities["UI"]

TextBox:ReleaseFocus

Forces the client to unfocus the TextBox. The submitted parameter lets you override the enterPressed parameter in the TextBox.FocusLost event.

Parameters

NameTypeDefaultDescription
submittedbooleanfalseWhether the TextBox.FocusLost event's enterPressed parameter reports true, as if the player pressed Enter to submit text. Defaults to false.

Returns

TypeDescription
()
FieldValue
securityNone
thread safetyUnsafe
capabilities["UI"]

Code samples: View on Creator Hub (TextBox-ReleaseFocus1).

Events

NameType / ReturnsDescription
TextBox.FocusedFires when the TextBox gains focus.
TextBox.FocusLostFires when the TextBox loses its focus.
TextBox.ReturnPressedFromOnScreenKeyboardFires when the TextBox is focused and the player presses the on-screen keyboard's return/enter button.

Inherited from GuiObject

NameType / ReturnsDescription
GuiObject.DragBeginFired when a player begins dragging the object.
GuiObject.DragStoppedFired when a player stops dragging the object.
GuiObject.InputBeganFired when a user begins interacting via a Human-Computer Interface device (Mouse button down, touch begin, keyboard button down, etc).
GuiObject.InputChangedFired when a user changes how they're interacting via a Human-Computer Interface device (Mouse button down, touch begin, keyboard button down, etc).
GuiObject.InputEndedFired when a user stops interacting via a Human-Computer Interface device (Mouse button down, touch begin, keyboard button down, etc).
GuiObject.MouseEnterFires when a user moves their mouse into a GUI element.
GuiObject.MouseLeaveFires when a user moves their mouse out of a GUI element.
GuiObject.MouseMovedFires whenever a user moves their mouse while it is inside a GUI element.
GuiObject.MouseWheelBackwardFires when a user scrolls their mouse wheel back when the mouse is over a GUI element.
GuiObject.MouseWheelForwardFires when a user scrolls their mouse wheel forward when the mouse is over a GUI element.
GuiObject.SelectionGainedFired when the GuiObject is being focused on with the Gamepad selector.
GuiObject.SelectionLostFired when the Gamepad selector stops focusing on the GuiObject.
GuiObject.TouchLongPressFires when the player starts, continues and stops long-pressing the UI element.
GuiObject.TouchPanFires when the player moves their finger on the UI element.
GuiObject.TouchPinchFires when the player performs a pinch or pull gesture using two fingers on the UI element.
GuiObject.TouchRotateFires when the player performs a rotation gesture using two fingers on the UI element.
GuiObject.TouchSwipeFires when the player performs a swipe gesture on the UI element.
GuiObject.TouchTapFires when the player performs a tap gesture on the UI element.

Inherited from GuiBase2d

NameType / ReturnsDescription
GuiBase2d.SelectionChangedFires when the gamepad selection moves to, leaves, or changes within the connected GuiBase2d or any descendant GuiObjects.

Inherited from Instance

NameType / ReturnsDescription
Instance.AncestryChangedFires when the Instance.Parent property of this object or one of its ancestors is changed.
Instance.AttributeChangedFires whenever an attribute is changed on the Instance.
Instance.ChildAddedFires after an object is parented to this Instance.
Instance.childAdded
Instance.ChildRemovedFires after a child is removed from this Instance.
Instance.DescendantAddedFires after a descendant is added to the Instance.
Instance.DescendantRemovingFires immediately before a descendant of the Instance is removed.
Instance.DestroyingFires immediately before (or is deferred until after) the instance is destroyed via Instance:Destroy().
Instance.StyledPropertiesChangedFires whenever any style property is changed on the instance, including when a property is set to nil.

Inherited from Object

NameType / ReturnsDescription
Object.ChangedFires immediately after a property of the object changes, with some limitations.

TextBox.Focused

This event fires when the TextBox gains focus, typically when a player clicks/taps on the TextBox to begin text entry. Also fires if TextBox focus is forced through CaptureFocus().

This event can be used alongside FocusLost to track when a TextBox both gains and loses focus.

FieldValue
securityNone
capabilities["UI"]

Code samples: View on Creator Hub (TextBox-Focus).

TextBox.FocusLost

This event fires when the TextBox loses its focus, typically when a player clicks/taps outside of it or presses Enter. Also fires if TextBox focus release is forced through ReleaseFocus().

This event can be used alongside FocusLost to track when a TextBox both gains and loses focus.

Parameters

NameTypeDefaultDescription
enterPressedbooleanA boolean indicating whether the client pressed Enter to lose focus (true) or not (false).
inputThatCausedFocusLossInputObjectAn InputObject instance indicating the type of input that caused the TextBox to lose focus.
FieldValue
securityNone
capabilities["UI"]

Code samples: View on Creator Hub (TextBox-Focus, TextBox-FocusLost, TextBox-FocusLost1).

TextBox.ReturnPressedFromOnScreenKeyboard

On mobile and console, this event fires when the TextBox is focused and the player presses the on-screen keyboard's return/enter button.

FieldValue
securityNone
capabilities["UI"]