Learn
Engine Class
GuiService
Not Creatable
Service
Not Replicated


API Reference
Properties
AutoSelectGuiEnabled
Read Parallel
Capabilities: UI, Input
GuiService.AutoSelectGuiEnabled:boolean

CoreGuiNavigationEnabled
Hidden
Not Replicated
Read Parallel
Capabilities: UI, Input
GuiService.CoreGuiNavigationEnabled:boolean

GuiNavigationEnabled
Read Parallel
Capabilities: UI, Input
GuiService.GuiNavigationEnabled:boolean

IsModalDialog
Deprecated

IsWindows
Deprecated

MenuIsOpen
Read Only
Not Replicated
Read Parallel
Capabilities: UI
GuiService.MenuIsOpen:boolean

PreferredTextSize
Read Only
Not Replicated
Read Parallel
Capabilities: UI
GuiService.PreferredTextSize:Enum.PreferredTextSize
Code Samples
Detect/Apply Changes to Preferred Text Size
local GuiService = game:GetService("GuiService")
local TextService = game:GetService("TextService")
local FONT_SIZE = 25
local PADDING = 8
local textLabel = Instance.new("TextLabel")
textLabel.Position = UDim2.new(0.5, 0, 0.5, 0)
textLabel.AnchorPoint = Vector2.new(0.5, 0.5)
textLabel.AutomaticSize = Enum.AutomaticSize.X
textLabel.TextSize = FONT_SIZE + PADDING
textLabel.Text = "Text Label Test"
textLabel.Parent = script.Parent
local function applyAddedTextHeight()
local finalTextHeight = TextService:GetTextSize("", FONT_SIZE, Enum.Font.BuilderSans, Vector2.new(math.huge, math.huge)).Y
local addedTextHeight = finalTextHeight - FONT_SIZE
print("PreferredTextSize adds", addedTextHeight, " to default text size")
textLabel.Size = UDim2.new(0, 0, 0, FONT_SIZE + addedTextHeight + PADDING)
end
applyAddedTextHeight()
GuiService:GetPropertyChangedSignal("PreferredTextSize"):Connect(applyAddedTextHeight)

PreferredTransparency
Hidden
Read Only
Not Replicated
Read Parallel
Capabilities: UI
GuiService.PreferredTransparency:number
Code Samples
Detect/Apply Changes to Preferred Transparency
local GuiService = game:GetService("GuiService")
local CollectionService = game:GetService("CollectionService")
local TAG = "TransparentBack"
local transparentBackObjects = {}
local function onInstanceAdded(object)
if object.BackgroundTransparency then
local defaultTransparency = object.BackgroundTransparency
transparentBackObjects[object] = defaultTransparency
object.BackgroundTransparency = defaultTransparency * GuiService.PreferredTransparency
end
end
local function onInstanceRemoved(object)
transparentBackObjects[object] = nil
end
-- Store initial tagged instances
for _, object in CollectionService:GetTagged(TAG) do
onInstanceAdded(object)
end
-- Detect when tagged instance is added or removed
CollectionService:GetInstanceAddedSignal(TAG):Connect(onInstanceAdded)
CollectionService:GetInstanceRemovedSignal(TAG):Connect(onInstanceRemoved)
-- When in-game setting is changed, adjust tagged instances
GuiService:GetPropertyChangedSignal("PreferredTransparency"):Connect(function()
for object, defaultTransparency in transparentBackObjects do
object.BackgroundTransparency = defaultTransparency * GuiService.PreferredTransparency
end
end)

ReducedMotionEnabled
Hidden
Read Only
Not Replicated
Read Parallel
Capabilities: UI
GuiService.ReducedMotionEnabled:boolean

SelectedObject
Read Parallel
Capabilities: UI, Input
GuiService.SelectedObject:GuiObject
Code Samples
Printing When Gamepad Selection Changes
local GuiService = game:GetService("GuiService")
local function printChanged(value)
if value == "SelectedObject" then
print("The SelectedObject changed!")
end
end
GuiService.Changed:Connect(printChanged)

TopbarInset
Read Only
Not Replicated
Read Parallel
Capabilities: UI
GuiService.TopbarInset:Rect
Code Samples
Responsive Frame Within Available Top Bar Space
local GuiService = game:GetService("GuiService")
local Players = game:GetService("Players")
local screenGui = Instance.new("ScreenGui")
screenGui.IgnoreGuiInset = true
screenGui.Parent = Players.LocalPlayer.PlayerGui
local frame = Instance.new("Frame")
frame.BackgroundColor3 = Color3.fromRGB(0, 255, 0)
frame.Parent = screenGui
GuiService:GetPropertyChangedSignal("TopbarInset"):Connect(function()
local inset = GuiService.TopbarInset
frame.Size = UDim2.new(0, inset.Width, 0, inset.Height)
frame.Position = UDim2.new(0, inset.Min.X, 0, inset.Min.Y)
end)

TouchControlsEnabled
Read Parallel
Capabilities: UI, Input
GuiService.TouchControlsEnabled:boolean

ViewportDisplaySize
Read Only
Not Replicated
Read Parallel
Capabilities: UI
GuiService.ViewportDisplaySize:Enum.DisplaySize
Code Samples
ViewportDisplaySize Changes
local GuiService = game:GetService("GuiService")
local function updateUI()
if (GuiService.ViewportDisplaySize == Enum.DisplaySize.Small) then
-- Update UI to small screen
elseif (GuiService.ViewportDisplaySize == Enum.DisplaySize.Large) then
-- Update UI to large screen
else
-- Update UI to medium/default screen
end
end
GuiService:GetPropertyChangedSignal("ViewportDisplaySize"):Connect(updateUI)
updateUI()

Methods
AddSelectionParent
Deprecated

AddSelectionTuple
Deprecated

CloseInspectMenu
Capabilities: UI
GuiService:CloseInspectMenu():()
Returns
()

DismissNotification
Capabilities: UI
GuiService:DismissNotification(notificationId:string):boolean
Parameters
notificationId:string
Returns

GetEmotesMenuOpen
Capabilities: UI
GuiService:GetEmotesMenuOpen():boolean
Returns

GetGameplayPausedNotificationEnabled
Capabilities: UI
GuiService:GetGameplayPausedNotificationEnabled():boolean
Returns

GetGuiInset
Capabilities: UI
GuiService:GetGuiInset():Tuple
Returns

GetInsetArea
Capabilities: UI
GuiService:GetInsetArea(screenInsets:Enum.ScreenInsets):Rect
Parameters
screenInsets:Enum.ScreenInsets
Returns

GetInspectMenuEnabled
Capabilities: UI
GuiService:GetInspectMenuEnabled():boolean
Returns

InspectPlayerFromHumanoidDescription
Capabilities: UI, AvatarAppearance
GuiService:InspectPlayerFromHumanoidDescription(
humanoidDescription:Instance, name:string
):()
Parameters
humanoidDescription:Instance
name:string
Returns
()
Code Samples
Opening an Inspect Menu with a HumanoidDescription
local GuiService = game:GetService("GuiService")
local humanoidDescription = Instance.new("HumanoidDescription")
humanoidDescription.HatAccessory = "3339374070"
humanoidDescription.BackAccessory = "3339363671"
GuiService:InspectPlayerFromHumanoidDescription(humanoidDescription, "MyPlayer")

InspectPlayerFromUserId
Capabilities: UI, AvatarAppearance
GuiService:InspectPlayerFromUserId(userId:User):()
Parameters
userId:User
Returns
()
Code Samples
Opening the Inspect Menu for a UserId
local GuiService = game:GetService("GuiService")
GuiService:InspectPlayerFromUserId(772462)

IsTenFootInterface
Deprecated

RemoveSelectionGroup
Deprecated

Select
Capabilities: UI
GuiService:Select(selectionParent:Instance):()
Parameters
selectionParent:Instance
Returns
()

SendNotification
Capabilities: UI
GuiService:SendNotification(notificationInfo:Dictionary):string
Parameters
notificationInfo:Dictionary
Returns

SetEmotesMenuOpen
Capabilities: UI
GuiService:SetEmotesMenuOpen(isOpen:boolean):()
Parameters
isOpen:boolean
Returns
()

SetGameplayPausedNotificationEnabled
Capabilities: UI
GuiService:SetGameplayPausedNotificationEnabled(enabled:boolean):()
Parameters
enabled:boolean
Returns
()

SetInspectMenuEnabled
Capabilities: UI
GuiService:SetInspectMenuEnabled(enabled:boolean):()
Parameters
enabled:boolean
Returns
()

Events
MenuClosed
Capabilities: UI
GuiService.MenuClosed():RBXScriptSignal

MenuOpened
Capabilities: UI
GuiService.MenuOpened():RBXScriptSignal

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