Skip to content

TextButton

Supported Class GUI

A 2D user interface element that displays interactive text.

21 Nova members · 5 modern Roblox members not implemented yet

Description

A TextButton behaves similarly to TextLabel in regards to rendering, with the additional behaviors of a GuiButton.

You can disable text rendering by setting TextTransparency to 1. This will result in a plain rectangle that can be used as a button.

Inheritance

Object → Instance → GuiBase → GuiBase2d → GuiObject → GuiButton → TextButton

Nova inheritance: Instance → GuiBase → GuiBase2d → GuiObject → GuiButton → TextButton

Properties

Font Supported Property Determines the font used to render text.
Font: Font

Determines the font used to render text.

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

With the exception of the Font.Legacy font, each font will render text with the line height equal to the TextSize property.

The Font.Code font is the only monospace font. It has the unique property that each character has the exact same width and height ratio of 1:2, where the width of each character is approximately half the TextSize property.

This property is kept in sync with the FontFace property.

Roblox documentation

FontFace Supported Property Determines the font used to render text.
FontFace: Font

Determines the font used to render text.

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 Font property, such that when setting FontFace, the font is set to the corresponding Font value or to Font.Unknown if there are no matches.

Roblox documentation

FontSize Supported Property Deprecated Determines the font size to be used.
FontSize: FontSize

This property determines the font size to be used.

Roblox documentation

LineHeight Supported Property Scales the spacing between lines of text in the TextButton.
LineHeight: float

Scales the spacing between lines of text in the TextButton.

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 TextButton. Valid values range from 1.0 to 3.0, defaulting to 1.0.

Roblox documentation

MaxVisibleGraphemes Supported Property The maximum number of graphemes the TextButton can show.
MaxVisibleGraphemes: int

The maximum number of graphemes the TextButton can show.

This property controls the maximum number of graphemes (or units of text) that are shown on the TextButton. It is primarily provided as an easy way to create a typewriter effect where the characters appear one at a time.

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.

Roblox documentation

RichText Supported Property Determines whether the TextButton renders its text using rich text formatting.
RichText: bool

Determines whether the TextButton renders its text using rich text formatting.

This property determines whether the TextButton renders its text using rich text markup to style sections of the string in bold, italics, specific colors, and more.

To use rich text, simply include rich text formatting tags in the Text string.

Roblox documentation

Text Supported Property Determines the string rendered by the TextButton.
Text: string

Determines the string rendered by the TextButton.

This property determines the text content rendered by the TextButton. The visual properties of the string rendered to the screen is determined by TextColor3, TextTransparency, TextSize, Font, TextScaled, TextWrapped, TextXAlignment and TextYAlignment.

It is possible to render emoji such as 🔒 and other symbols which aren't affected by the TextColor3 property. These can be pasted into Script and LocalScript objects, as well as the field within the Properties window.

This property may contain newline characters. Similarly, this property may contain a tab character, but it will render as a space instead.

Roblox documentation

TextBounds Supported Property Read-only property which reflects the absolute size of rendered text in offsets.
TextBounds: Vector2

Read-only property which reflects the absolute size of rendered text in offsets.

This read-only property reflects the absolute size of rendered text in offsets, meaning that if you try to fit text into a rectangle, this property would reflect the minimum dimensions of the rectangle you'd need in order to fit the text.

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

Roblox documentation

TextColor Supported Property Deprecated Determines the color of text.
TextColor: BrickColor

This property determines the color of text.

Nova behaviour: Nova keeps this legacy member for compatibility. Roblox's modern deprecation wording may describe later Roblox behaviour; verify it against Nova before relying on the copied text.

Roblox documentation

TextColor3 Supported Property Determines the color of rendered text.
TextColor3: Color3

Determines the color of rendered text.

This property determines the color of all the text rendered by the TextButton element.

Roblox documentation

TextFits Supported Property A boolean representation of whether the button's text fits within the size of it.
TextFits: bool

A boolean representation of whether the button's text fits within the size of it.

Roblox documentation

TextScaled Supported Property Changes whether text is resized to fit within the TextButton.
TextScaled: bool

Changes whether text is resized to fit within the TextButton.

This property determines whether text is scaled so that it fills the button's entire space. When enabled, TextSize is ignored and TextWrapped is automatically enabled. This property is useful for rendering text elements within BillboardGuis. 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.

Automatic Sizing

It's recommended that you avoid usage of TextScaled and adjust UI to take advantage of the AutomaticSize property instead. Here are the core differences between the two properties:

  • TextScaled scales the content (text) to accommodate the UI. Without careful consideration, some text may become unreadable if scaled too small.

  • AutomaticSize resizes the UI to accommodate content while maintaining a consistent font size. For more information, see here.

Additionally, it's recommended that you avoid applying both AutomaticSize and TextScaled and to the same TextButton. AutomaticSize determines the maximum amount of available space that a GuiObject can use (in this case, text), while TextScaled uses the available space determined by AutomaticSize to scale the font size up to the maximum font size (100) if there are no size constraints.

Roblox documentation

TextSize Supported Property Determines the line height of text in offsets.
TextSize: float

Determines the line height of text in offsets.

This property determines the height of one line of rendered text. The unit is in offsets, not points (which is used in most document editing programs). The Font.Legacy font does not hold this property.

Roblox documentation

TextStrokeColor3 Supported Property Determines the color of the text stroke (outline).
TextStrokeColor3: Color3

Determines the color of the text stroke (outline).

This property sets the color of the stroke, or outline, of rendered text. Along with TextStrokeTransparency, it determines the final visual appearance of the text stroke.

As a powerful alternative which supports color gradients, see UIStroke.

Roblox documentation

TextStrokeTransparency Supported Property Determines the transparency of the text stroke (outline).
TextStrokeTransparency: float

Determines the transparency of the text stroke (outline).

This property sets the transparency of the stroke, or outline, of rendered text. Along with TextStrokeColor3, it determines the final visual appearance of the text stroke.

Note that text stroke is multiple renderings of the same transparency, so this property is essentially multiplicative on itself four times over. Therefore, it's recommended to set TextStrokeTransparency to a value in the range of 0.75 to 1 for more a more subtle effect.

As a powerful alternative which supports color gradients, see UIStroke.

Roblox documentation

TextTransparency Supported Property Determines the transparency of rendered text.
TextTransparency: float

Determines the transparency of rendered text.

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

Roblox documentation

TextTruncate Supported Property Controls the truncation of the text displayed in the TextButton.
TextTruncate: TextTruncate

Controls the truncation of the text displayed in the TextButton.

Roblox documentation

TextWrap Supported Property Deprecated Determines whether or not text should wrap at the edges of the TextButton element's space.
TextWrap: bool

This property determines whether or not text should wrap at the edges of the TextButton element's space.

Nova behaviour: Nova keeps this legacy member for compatibility. Roblox's modern deprecation wording may describe later Roblox behaviour; verify it against Nova before relying on the copied text.

Roblox documentation

TextWrapped Supported Property Determines if text wraps to multiple lines within the TextButton element's space, truncating excess text.
TextWrapped: bool

Determines if text wraps to multiple lines within the TextButton element's space, truncating excess text.

When enabled, this property will render text on multiple lines within a TextButton 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 TextBounds) to exceed the vertical height of the element (the Y component of GuiBase2d.AbsoluteSize), then that line will not be rendered at all.

Roblox documentation

TextXAlignment Supported Property Determines the horizontal alignment of rendered text.
TextXAlignment: TextXAlignment

Determines the horizontal alignment of rendered text.

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

Note that this property won't affect the read-only properties TextBounds and TextFits.

Roblox documentation

TextYAlignment Supported Property Determines the vertical alignment of rendered text.
TextYAlignment: TextYAlignment

Determines the vertical alignment of rendered text.

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

Note that this property won't affect the read-only properties TextBounds and TextFits.

Roblox documentation

Inherited members

Inherited from GuiButton: 49 properties, 40 methods, 31 events. They are documented on the base class page.

5 modern Roblox member(s) are not implemented yet — expand to inspect

Members declared by Roblox's TextButton class (or by a missing base class) that Nova does not expose. Use this list to scope a migration; the compatibility guide has the recommended workaround.

Properties

Member Signature Status Notes Flags
ContentText ContentText: string Not yet A copy of TextButton.Text that contains exactly what is being rendered by the TextButton. ReadOnly, NotReplicated
OpenTypeFeatures OpenTypeFeatures: string Not yet Applies OpenType font features, such as stylistic sets, to the text rendered by the TextButton. —
OpenTypeFeaturesError OpenTypeFeaturesError: string Not yet Read-only property that contains the error message, if any, produced while applying OpenTypeFeatures. ReadOnly, NotReplicated
TextDirection TextDirection: TextDirection Not yet Direction in which the text is rendered. —

Methods

Member Signature Status Notes Flags
SetTextFromInput TextButton:SetTextFromInput(text: string): null Not yet — RobloxScriptSecurity

Roblox reference: TextButton

Generated from Nova's API dump and Roblox creator-docs. Nova-only members come from the engine's reflection metadata.