UserGameSettings

Show Deprecated
Not Creatable
User Settings
Not Replicated

The UserGameSettings is a singleton class found inside of the UserSettings singleton. It holds various persistent settings relating to how the user wants to control their camera, and their character.

You can access this object from a LocalScript via:


UserSettings():GetService("UserGameSettings")

This object is intended to be used on the client only, as it serves no purpose on the server. It will also reflect your own settings when testing in Roblox Studio.

Code Samples

A basic example that shows how you can listen to changes in the user's settings. With this code pasted into a LocalScript running in the StarterPlayerScripts, you can change settings in Roblox's game menu, and see their values appear in the output as detected changes.

UserGameSettings Listener

local gameSettings = UserSettings().GameSettings
local function onGameSettingChanged(nameOfSetting)
-- Fetch the value of this setting through a pcall to make sure we can retrieve it.
-- Sometimes the event fires with properties that LocalScripts can't access.
local canGetSetting, setting = pcall(function()
return gameSettings[nameOfSetting]
end)
if canGetSetting then
print("Your " .. nameOfSetting .. " has changed to: " .. tostring(setting))
end
end
gameSettings.Changed:Connect(onGameSettingChanged)

Summary

Properties

Methods

Events

Properties

AllTutorialsDisabled

Roblox Script Security
Read Parallel
Roblox Script Security
Read Parallel

ChatVisible

Roblox Script Security
Read Parallel

ComputerCameraMovementMode

Read Parallel

ComputerMovementMode

Read Parallel

ControlMode

Read Parallel

Fullscreen

Roblox Script Security
Read Parallel

GamepadCameraSensitivity

Read Parallel

GraphicsOptimizationMode

Roblox Script Security
Read Parallel

GraphicsQualityLevel

Roblox Script Security
Read Parallel

HasEverUsedVR

Roblox Script Security
Read Parallel

MasterVolume

Roblox Script Security
Read Parallel

MasterVolumeStudio

Roblox Script Security
Read Parallel

MaxQualityEnabled

Roblox Script Security
Read Parallel

MouseSensitivity

Read Parallel

OnboardingsCompleted

Roblox Script Security
Read Parallel

PartyVoiceVolume

Roblox Script Security
Read Parallel

RCCProfilerRecordFrameRate

Read Parallel

RCCProfilerRecordTimeFrame

Read Parallel

RotationType

Read Parallel

SavedQualityLevel

Read Parallel

StartMaximized

Not Replicated
Not Scriptable
Roblox Script Security
Read Parallel

StartScreenPosition

Not Replicated
Not Scriptable
Roblox Script Security
Read Parallel

StartScreenSize

Not Replicated
Not Scriptable
Roblox Script Security
Read Parallel

TouchCameraMovementMode

Read Parallel

TouchMovementMode

Read Parallel

UsedCoreGuiIsVisibleToggle

Roblox Script Security
Read Parallel

UsedCustomGuiIsVisibleToggle

Roblox Script Security
Read Parallel

UsedHideHudShortcut

Roblox Script Security
Read Parallel

VREnabled

Roblox Script Security
Read Parallel

VRRotationIntensity

Roblox Script Security
Read Parallel

VRSmoothRotationEnabled

Roblox Script Security
Read Parallel

VignetteEnabled

Roblox Script Security
Read Parallel

Methods

GetCameraYInvertValue


Returns

GetOnboardingCompleted

Parameters

onboardingId: string

Returns

InFullScreen


Returns

InStudioMode


Returns

SetCameraYInvertVisible

()

Returns

()

SetGamepadCameraSensitivityVisible

()

Returns

()

SetOnboardingCompleted

()

Parameters

onboardingId: string

Returns

()

Events

FullscreenChanged

Parameters

isFullscreen: boolean

Code Samples

Full Screen Mode Detection

local gameSettings = UserSettings().GameSettings
local function checkFullScreenMode()
local inFullscreen = gameSettings:InFullScreen()
if inFullscreen then
print("Full Screen mode enabled!")
else
print("Full Screen mode disabled!")
end
end
checkFullScreenMode()
gameSettings.FullscreenChanged:Connect(checkFullScreenMode)

StudioModeChanged

Parameters

isStudioMode: boolean