Skip to content

ScreenGui

Supported Class GUI

Primary container of on-screen 2D user interface elements.

4 Nova members · 1 modern Roblox members not implemented yet

Description

ScreenGui is a storage container for 2D GuiObjects displayed on the user's screen. A ScreenGui only shows if parented to a player's PlayerGui; parenting a ScreenGui to StarterGui ensures it clones into each player's PlayerGui when they join the experience and their character first spawns. See On‑Screen UI Containers for further details.

Example ScreenGui with various GuiObject children, including a Frame, TextLabel, TextBox, and ImageButton.

For performance improvements, the appearance of a ScreenGui is cached until one of the following events occurs:

  • A descendant is added to or removed from it.
  • A property of a descendant changes.
  • A property of the ScreenGui itself changes.

If any of these events occur, the ScreenGui appearance is recomputed on the next frame it gets rendered.

Inheritance

Object → Instance → GuiBase → GuiBase2d → LayerCollector → ScreenGui

Nova inheritance: Instance → GuiBase → GuiBase2d → LayerCollector → ScreenGui

Known subclasses: GuiMain

Properties

ClipToDeviceSafeArea Supported Property Whether to clip the contents of this ScreenGui to the device's safe area.
ClipToDeviceSafeArea: bool

Whether to clip the contents of this ScreenGui to the device's safe area.

If this property is true, all GuiObject descendants of the ScreenGui will be clipped to the device's safe area (see ScreenInsets). The default is true to maintain backwards compatibility of UI that is intentionally hidden offscreen, such as objects that slide into view from a screen edge when they're needed.

Mobile device showing UI button clipped by device safe
area

If this property is false, GuiObject descendants will not be clipped to the device's safe area and may be obscured by the camera notch or other screen cutouts.

Mobile device showing UI button overflowing device safe
area, obscured by screen camera notch

Note that this property will be ignored if you set ScreenInsets to None, as doing so implies that you intentionally want to disregard the device's safe insets.

Roblox documentation

DisplayOrder Supported Property Controls the Z-index order in which multiple ScreenGui containers are drawn.
DisplayOrder: int

This property controls the Z-index order in which multiple ScreenGui containers are drawn. Those with a higher DisplayOrder will be drawn on top of those with a lower value.

Roblox documentation

IgnoreGuiInset Supported Property Determines whether the ScreenGui overflows into the range of Roblox's core UI elements.
IgnoreGuiInset: bool

Determines whether the ScreenGui overflows into the range of Roblox's core UI elements.

If this property is false (default), ScreenInsets is set to CoreUISafeInsets, effectively keeping its bounds below the Roblox top bar core UI.

If this property is changed to true and ScreenInsets is currently set to CoreUISafeInsets, ScreenInsets will be set to DeviceSafeInsets.

See ScreenInsets for details on how screen insets affect the contents of a ScreenGui.

Roblox documentation

SafeAreaCompatibility Supported Property Specifies whether automatic UI compatibility transformations are applied to descendant "fullscreen" GuiObjects on displays with screen cutouts.
SafeAreaCompatibility: SafeAreaCompatibility

This property specifies whether automatic UI compatibility transformations are applied to descendant "fullscreen" GuiObjects of the ScreenGui on displays with screen cutouts. Eligibility occurs if the total area of the descendant GuiObject (including any applied border or UIStroke) covers the device's safe area both horizontally and vertically. See the SafeAreaCompatibility enum reference for details.

The default value is FullscreenExtension in order to automatically improve the appearance of UI that was authored for screens without any cutouts. However, it's recommended that you avoid fullscreen extensions for new work; instead, use the ScreenInsets property to specify which insets should be respected for different ScreenGui containers.

Note that descendant UI objects will continue to be clipped by the device's safe area if ClipToDeviceSafeArea is set to true.

Roblox documentation

Inherited members

Inherited from LayerCollector: 20 properties, 36 methods, 7 events. They are documented on the base class page.

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

Members declared by Roblox's ScreenGui 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
ScreenInsets ScreenInsets: ScreenInsets Not yet Controls the safe area insets that are applied to the contents of the ScreenGui. —

Roblox reference: ScreenGui

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