Frames

Basic Frames act as containers for other GuiObjects such as labels and buttons. You can apply frames to display on a user's screen or on a surface within the game.

Example Frame on the screen containing a TextLabel, TextBox, and ImageButton.

Frames are ideal containers for responsive layouts such as list and flex layouts, allowing you to change the size of the frame and dynamically adjust how layout items fit within it. Frames are also core GuiObjects, so you can customize properties such as BackgroundColor3, Transparency, apply a background gradient or border, and more.

Aside from their common use as containers, you can also use Frames for UI design. For example, as a visual separator between other UI elements, you can scale a frame to be thin and long until it becomes a line.

Clipping

By default, GuiObject containers clip their content (descendant GuiObjects) through the ClipsDescendants boolean. If you want descendants to appear outside of a container's bounds, simply set ClipsDescendants to false.

Importantly, StarterGui.ClipsDescendantsSupportsRotation must be true for clipping to work on rotated descendants (non‑zero Rotation) within the container. However, clipping by a rotated container (clipping container itself is rotated) or by rounded corners (UICorner) is not supported. If you need clipping on rotated or rounded containers, consider CanvasGroup.

Automatic sizing

Frames can be set to automatically size depending on their content. To achieve this, set the frame's Size to the minimum width and/or height, then set its AutomaticSize property to either X, Y, or XY depending on which axes automatic sizing should apply to. Once set, the frame will automatically resize based on the size of GuiObjects and layouts within it.

©2026 Roblox Corporation. Roblox, the Roblox logo and Powering Imagination are among our registered and unregistered trademarks in the U.S. and other countries.