UserGameSettings

Show Deprecated
Not Creatable
User Settings

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

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

The camera movement mode currently in-use by the client on desktop.

The type of controls being used by the client on desktop.

Describes how sensitive the camera is when using a gamepad.

A float between 0 and 1 representing the volume of the game's client.

A float between 0 and 4 representing the sensitivity of the client's camera sensitivity.

Controls how the client's character is rotated.

The graphics quality level set by the client.

NOT REPLICATED
NOT SCRIPTABLE
NOT REPLICATED
NOT SCRIPTABLE
NOT REPLICATED
NOT SCRIPTABLE

The camera type in-use by the client while on a mobile device.

The type of controls being used by the client on a mobile device.

HIDDEN
NOT REPLICATED

Methods


Returns the camera's Y-invert value.


Checks if onboarding has been completed.


Returns true if the user's Roblox window is in full screen mode.


Returns true if the client's game session is in Roblox Studio.


If called, Roblox toggles the menu option to invert the user's camera y axis.


If called, Roblox toggles the menu option to control the camera sensitivity with gamepads.

SetOnboardingCompleted(onboardingId: string): void  

Sets onboarding as completed.

Events


Fires if the user's full screen mode is changed.


Fired when the user's client switches between studio mode and in-game mode. This gets fired periodically in Roblox Studio when a session starts.

Properties

AllTutorialsDisabled

Roblox Script Security
Roblox Script Security
Roblox Script Security
Roblox Script Security

ChatVisible

Roblox Script Security
Roblox Script Security

ComputerCameraMovementMode

The camera movement mode currently in-use by the client on desktop.

ComputerMovementMode

The type of controls being used by the client on desktop.

Fullscreen

Roblox Script Security
Roblox Script Security

GamepadCameraSensitivity

Describes how sensitive the camera is when using a gamepad.

GraphicsQualityLevel

Roblox Script Security
Roblox Script Security

HasEverUsedVR

Roblox Script Security
Roblox Script Security

MasterVolume

Roblox Script Security
Roblox Script Security

A float between 0 and 1 representing the volume of the game's client.

MouseSensitivity

A float between 0 and 4 representing the sensitivity of the client's camera sensitivity.

OnboardingsCompleted

Roblox Script Security
Roblox Script Security

RCCProfilerRecordFrameRate

RCCProfilerRecordTimeFrame

RotationType

Controls how the client's character is rotated.

SavedQualityLevel

The graphics quality level set by the client.

StartMaximized

Not Replicated
Not Scriptable
Roblox Script Security
Roblox Script Security

StartScreenPosition

Not Replicated
Not Scriptable
Roblox Script Security
Roblox Script Security

StartScreenSize

Not Replicated
Not Scriptable
Roblox Script Security
Roblox Script Security

TouchCameraMovementMode

The camera type in-use by the client while on a mobile device.

TouchMovementMode

The type of controls being used by the client on a mobile device.

UsedCoreGuiIsVisibleToggle

Roblox Script Security
Roblox Script Security

UsedCustomGuiIsVisibleToggle

Roblox Script Security
Roblox Script Security

UsedHideHudShortcut

Roblox Script Security
Roblox Script Security

VREnabled

Roblox Script Security
Roblox Script Security

VRPlayMode

Hidden
Not Replicated
Roblox Script Security

VRRotationIntensity

Roblox Script Security
Roblox Script Security

VRSmoothRotationEnabled

Roblox Script Security

VignetteEnabled

Roblox Script Security

Methods

GetCameraYInvertValue

Returns the camera's Y-invert value.


Returns

GetOnboardingCompleted

Checks whether or not the given onboarding has been completed yet, which is useful for avoiding showing the onboarding animation again.

If onboardingId is not one of the accepted IDs, an error is thrown.

The onboarding process is one-way. This means that, as a developer, you can force the onboarding process to completion but cannot reset it.

See also:

Parameters

onboardingId: string

The onboarding ID to inquire about.


Returns

Whether or not the onboarding in particular has been completed yet.

InFullScreen

Returns true if the user's Roblox window is in full screen mode.


Returns

InStudioMode

Returns true if the client's game session is in Roblox Studio.


Returns

SetCameraYInvertVisible

void

If called, Roblox toggles the menu option to invert the user's camera y axis.


Returns

void

SetGamepadCameraSensitivityVisible

void

If called, Roblox toggles the menu option to control the camera sensitivity with gamepads.


Returns

void

SetOnboardingCompleted

void

Sets the given onboarding as completed, so it won't be shown again to the user the next time they play.

Currently, this function only accepts DynamicThumbstick, and it is used to persistently track whether or not the player has finished the tutorial for the Dynamic Thumbstick control scheme. If onboardingId is not one of the accepted IDs, an error is thrown.

The onboarding process is one-way. This means that, as a developer, you can force the onboarding process to completion but cannot reset it.

See also:

Parameters

onboardingId: string

The onboarding ID to set as completed.


Returns

void

Events

FullscreenChanged

Fires if the user's full screen mode is changed. The event will only fire on desktop devices that can toggle full screen mode. The game will always be in full screen on mobile devices and consoles.

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

Fired when the user's client switches between studio mode and in-game mode. This gets fired periodically in Roblox Studio when a session starts.

Parameters

isStudioMode: boolean