Class
StarterGui
NotCreatableService
A container for LayerCollector objects to be copied into the
PlayerGui of Players. Also provides a range of
functions for interacting with the CoreGui.
StarterGui is a container object designed to hold
LayerCollector objects such as ScreenGuis.
When a Player.Character spawns, the contents of their
PlayerGui (if any) are emptied. Children of the StarterGui are
then copied along with their descendants into the PlayerGui. Note,
however, that LayerCollector objects such as
ScreenGuis with their
ResetOnSpawn property set to false will
only be placed into each player's PlayerGui once and will not be
deleted when the Player respawns.
StarterGui also includes a range of functions allowing you to interact
with the CoreGui. For example StarterGui:SetCoreGuiEnabled()
can be used to disable elements of the CoreGui, and
StarterGui:SetCore() can perform a range of functions including
creating notifications and system messages.
Properties 7#
ClipsDescendantsSupportsRotationRolloutState | Determines whether the ClipsDescendants
property of a GuiObject clips rotated descendants.ReadSafeNotScriptable |
ProcessUserInputboolean | Allows this service to process input like PlayerGui and
CoreGui do.Read: PluginSecurityWrite: PluginSecurityReadSafeHiddenNotReplicated |
ResetPlayerGuiOnSpawnboolean | Determines whether each child parented to the StarterGui will be cloned into a player's PlayerGui when that player's character is respawned.ReadSafeDeprecated |
RtlTextSupportRtlTextSupport | Controls whether right-to-left (RTL) text layout is enabled for text in
GuiObjects throughout the experience.ReadSafeNotScriptable |
ScreenOrientationScreenOrientation | Sets the default screen orientation mode for users with mobile devices.ReadSafe |
ShowDevelopmentGuiboolean | Determines whether the contents of StarterGui is visible in
Studio.ReadSafe |
VirtualCursorModeVirtualCursorMode | Controls whether the gamepad virtual cursor is enabled for navigating
GuiObjects with a controller.ReadSafeNotScriptable |
ClipsDescendantsSupportsRotation: RolloutState#
NotScriptableReadSafe
If true, the ClipsDescendants
property of a GuiObject clips its rotated descendants.
ProcessUserInput: boolean#
HiddenNotReplicatedRead: PluginSecurityWrite: PluginSecurityReadSafe
Allows StarterGui to process input like PlayerGui and
CoreGui do. The default value is false.
ResetPlayerGuiOnSpawn: boolean#
DeprecatedReadSafeDeprecated
Deprecated. This property is deprecated. Use LayerCollector.ResetOnSpawn to
control the resetting behavior for individual LayerCollector
objects.
If set to true, each child parented to the StarterGui will be
cloned into a player's PlayerGui when that player's character is
respawned.
If one of the children is a PlayerGui and it has its PlayerGui property set to false, it will not be cloned.
RtlTextSupport: RtlTextSupport#
NotScriptableReadSafe
This property determines whether right-to-left (RTL) text layout is
applied to the text of GuiObjects in the experience,
which is needed to correctly display languages written right-to-left, such
as Arabic and Hebrew.
The default value is RtlTextSupport.Default. Both
RtlTextSupport.Default and RtlTextSupport.Enabled turn RTL
text layout support on, while RtlTextSupport.Disabled turns it off.
ScreenOrientation: ScreenOrientation#
ReadSafe
This property sets the preferred screen orientation mode for users with
mobile devices. For the different modes available, see
ScreenOrientation.
By default, this property is set to
Sensor, meaning the experience is
displayed depending on the best match to the device's current orientation,
either landscape (left/right) or portrait.
When a Player joins the experience on a mobile device, this
property determines the device's starting orientation and sets that
player's PlayerGui.ScreenOrientation accordingly. You can also get
the player's current screen orientation through
PlayerGui.CurrentScreenOrientation, useful when using one of the
"sensor" ScreenOrientation settings.
Note that changing this property will not change the screen orientation
for Players already in the experience. To change the
orientation for an existing player, use their
PlayerGui.ScreenOrientation property.
ShowDevelopmentGui: boolean#
ReadSafe
This property determines whether the contents of StarterGui is
visible in Studio.
VirtualCursorMode: VirtualCursorMode#
NotScriptableReadSafe
This property determines whether the gamepad virtual cursor, which lets
players move a pointer across on-screen GuiObjects using
a controller, is enabled.
The default value is VirtualCursorMode.Default. Setting it to
VirtualCursorMode.Enabled turns the virtual cursor on and
VirtualCursorMode.Disabled turns it off. When a player is in VR,
the virtual cursor is always active regardless of this property's value.
Methods 4#
| GetCore | Returns a variable that has been specified by a Roblox core script.Yields |
| GetCoreGuiEnabled | Returns whether the given CoreGuiTypeis enabled, or if it has been
disabled using StarterGui:SetCoreGuiEnabled(). |
| SetCore | Allows you to perform certain interactions with Roblox's core scripts. |
| SetCoreGuiEnabled | Sets whether the CoreGui element associated with the given
CoreGuiType is enabled or disabled. |
GetCore(parameterName: string): Variant#
Yields
This method returns data set or made available by Roblox's core scripts. The first and only parameter is a string that selects the information to be fetched. The following sections describe the strings and the data they return by this function.
Calling this method may yield. Many of these also register an equivalent
SetCore() function (these are marked with an
asterisk).
PointsNotificationsActive *#
Returns true if player point notifications are enabled.
BadgesNotificationsActive *#
Returns true if badge notifications are enabled.
AvatarContextMenuEnabled *#
Returns true if the
Avatar Context Menu is enabled.
ChatActive *#
Returns whether the chat is active or not. This is indicated by the selection state of the top bar's chat icon.
ChatWindowSize *#
Returns the size of the chat window as a UDim2.
ChatWindowPosition *#
Returns the size of the chat window as a UDim2.
ChatBarDisabled *#
Returns true if the chat bar is disabled.
GetBlockedUserIds#
Returns a list of UserIds associated with users that
have been blocked by the local player.
PlayerBlockedEvent#
Returns a BindableEvent that is fired whenever a player is blocked
by the local player.
PlayerUnblockedEvent#
Returns a BindableEvent that is fired whenever a player is
unblocked by the local player.
PlayerMutedEvent#
Returns a BindableEvent that is fired whenever a player is muted
by the local player.
PlayerUnmutedEvent#
Returns a BindableEvent that is fired whenever a player is unmuted
by the local player.
PlayerFriendedEvent#
Returns a BindableEvent that is fired whenever a player is
connected by the local player.
PlayerUnfriendedEvent#
Returns a BindableEvent that is fired whenever a player is
unconnected by the local player.
DevConsoleVisible *#
Returns true if the
Developer Console is visible.
VRRotationIntensity#
Returns a string describing the camera rotation sensitivity in VR: Low,
High and Smooth. This will not be available unless
VRService.VREnabled is true.
| Name | Type | Default | Description |
|---|---|---|---|
parameterName | string | The name of the core parameter to retrieve, such as
"PointsNotificationsActive" or "ChatActive". |
Returns
Variant— The value associated with the specified core parameter name, whose type depends on the parameter queried.
GetCoreGuiEnabled(coreGuiType: CoreGuiType): boolean#
This function returns whether the given CoreGuiTypeis enabled, or
if it has been disabled using StarterGui:SetCoreGuiEnabled(). This
function should be called on the client.
Note that setting "TopbarEnabled" to false using
SetCore() hides all
CoreGuiTypes but does not affect the result of this
function.
| Name | Type | Default | Description |
|---|---|---|---|
coreGuiType | CoreGuiType | The given CoreGuiType. |
Returns
boolean— Whether the givenCoreGuiTypeis enabled.
SetCore(parameterName: string, value: Variant): ()#
This method (not to be confused with
SetCoreGuiEnabled()) exposes a
variety of functionality defined by Roblox's core scripts, such as sending
notifications, toggling notifications for badges/points, defining a
callback for the reset button, or toggling the topbar.
The first parameter is a string that selects the functionality with which
the call will interact. It may be necessary to call this method multiple
times using LuaGlobals.pcall() in case the respective core script
has not yet loaded (or if it has been disabled entirely).
The following table describes the strings that may be accepted as the first parameter. The parameters that should follow are dependent on the functionality that will be used and are described in sub-tables.
ChatActive#
Controls whether the chat is active.
| Name | Type | Default | Description |
|---|---|---|---|
active |
boolean | (required) | Determines whether the chat should be made active. |
PointsNotificationsActive#
Controls whether notifications for earned player points will appear.
| Name | Type | Default | Description |
|---|---|---|---|
active |
boolean | (required) | Determines whether notifications for earned player points will appear. |
BadgesNotificationsActive#
Controls whether notifications for earned badges will appear.
| Name | Type | Default | Description |
|---|---|---|---|
active |
boolean | (required) | Determines whether notifications for earned badges will appear. |