Class
UserGameSettings
NotCreatableServiceNotReplicated
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.
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.
The properties on this class reflect both the user-facing options exposed in the in-game settings menu (such as graphics quality, master volume, camera and control modes) as well as other contextual user-configurable state that is not surfaced in the menu itself (such as internal onboarding progress, VR comfort options, window layout, and debug or profiling configuration). As a result, some properties listed here may not correspond to anything visible in the settings UI, and many are restricted to internal Roblox scripts.
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.
Properties 38#
AllTutorialsDisabledboolean | Indicates whether all in-game tutorials have been disabled by the user.Read: RobloxScriptSecurityWrite: RobloxScriptSecurityReadSafe |
BadgeVisibleboolean | Indicates whether badge notifications are visible to the client.Read: RobloxScriptSecurityWrite: RobloxScriptSecurityReadSafe |
CameraModeCustomCameraMode | The custom camera mode currently in-use by the client.Read: RobloxScriptSecurityWrite: RobloxScriptSecurityReadSafe |
ChatVisibleboolean | Indicates whether the in-game chat is visible to the client.Read: RobloxScriptSecurityWrite: RobloxScriptSecurityReadSafe |
ComputerCameraMovementModeComputerCameraMovementMode | The camera movement mode currently in-use by the client on desktop.ReadSafe |
ComputerMovementModeComputerMovementMode | The type of controls being used by the client on desktop.ReadSafe |
ControlModeControlMode | Toggles whether or not the client can use the Mouse Lock Switch mode.ReadSafeDeprecated |
Fullscreenboolean | Indicates whether the client's window is currently in full screen mode.Read: RobloxScriptSecurityWrite: RobloxScriptSecurityReadSafe |
GamepadCameraSensitivityfloat | Describes how sensitive the camera is when using a gamepad.ReadSafe |
GraphicsOptimizationModeGraphicsOptimizationMode | The graphics optimization mode used by the client to balance visual quality and performance.Read: RobloxScriptSecurityWrite: RobloxScriptSecurityReadSafe |
GraphicsQualityLevelint | The current graphics quality level being used by the client.Read: RobloxScriptSecurityWrite: RobloxScriptSecurityReadSafe |
HasEverUsedVRboolean | Indicates whether the user has ever launched the client in VR mode.Read: RobloxScriptSecurityWrite: RobloxScriptSecurityReadSafe |
MasterVolumefloat | A float between 0 and 1 representing the volume of the game's client.Read: RobloxScriptSecurityWrite: RobloxScriptSecurityReadSafe |
MasterVolumeStudiofloat | A float between 0 and 1 representing the master volume used in Roblox Studio.Read: RobloxScriptSecurityWrite: RobloxScriptSecurityReadSafe |
MaxQualityEnabledboolean | Indicates whether the client's graphics quality is set to the maximum available level.Read: RobloxScriptSecurityWrite: RobloxScriptSecurityReadSafe |
MouseSensitivityfloat | A float between 0 and 4 representing the sensitivity of the client's camera sensitivity.ReadSafe |
OnboardingsCompletedstring | A comma-separated list of onboarding IDs that the user has completed.Read: RobloxScriptSecurityWrite: RobloxScriptSecurityReadSafe |
PartyVoiceVolumefloat | A float between 0 and 1 representing the volume of party voice chat.Read: RobloxScriptSecurityWrite: RobloxScriptSecurityReadSafe |
PeoplePageLayoutPeoplePageLayout | The layout style used to display the people page in the in-game menu.Read: RobloxScriptSecurityWrite: RobloxScriptSecurityReadSafe |
PlayerListVisibleboolean | Indicates whether the in-game player list is visible to the client.Read: RobloxScriptSecurityWrite: RobloxScriptSecurityReadSafe |
PlayerNamesEnabledboolean | Indicates whether player names are displayed above characters in the game.Read: RobloxScriptSecurityWrite: RobloxScriptSecurityReadSafe |
RCCProfilerRecordFrameRateint | Internal MicroProfiler setting specifying the frame rate used when capturing server-side RCC profiler data.ReadSafe |
RCCProfilerRecordTimeFrameint | Internal MicroProfiler setting specifying the duration over which server-side RCC profiler data is captured.ReadSafe |
RotationTypeRotationType | Controls how the client's character is rotated.ReadSafe |
SavedQualityLevelSavedQualitySetting | The graphics quality level set by the client.ReadSafe |
StartMaximizedboolean | Indicates whether Roblox Studio should launch in a maximized window.Read: RobloxScriptSecurityWrite: RobloxScriptSecurityReadSafeNotReplicatedNotScriptable |
StartScreenPositionVector2 | The screen position of the client's window when the application launches.Read: RobloxScriptSecurityWrite: RobloxScriptSecurityReadSafeNotReplicatedNotScriptable |
StartScreenSizeVector2 | The size of the client's window when the application launches.Read: RobloxScriptSecurityWrite: RobloxScriptSecurityReadSafeNotReplicatedNotScriptable |
TouchCameraMovementModeTouchCameraMovementMode | The camera type in-use by the client while on a mobile device.ReadSafe |
TouchMovementModeTouchMovementMode | The type of controls being used by the client on a mobile device.ReadSafe |
UsedCoreGuiIsVisibleToggleboolean | Indicates whether the user has toggled the visibility of core GUI elements.Read: RobloxScriptSecurityWrite: RobloxScriptSecurityReadSafe |
UsedCustomGuiIsVisibleToggleboolean | Indicates whether the user has toggled the visibility of custom GUI elements.Read: RobloxScriptSecurityWrite: RobloxScriptSecurityReadSafe |
UsedHideHudShortcutboolean | Indicates whether the user has used the keyboard shortcut for hiding the HUD.Read: RobloxScriptSecurityWrite: RobloxScriptSecurityReadSafe |
VignetteEnabledboolean | Indicates whether the VR vignette comfort effect is enabled.Write: RobloxScriptSecurityReadSafe |
VoiceChatVolumefloat | A float between 0 and 2 representing the volume of in-game voice chat.Read: RobloxScriptSecurityWrite: RobloxScriptSecurityReadSafe |
VREnabledboolean | Indicates whether the client is currently running in VR mode.Read: RobloxScriptSecurityWrite: RobloxScriptSecurityReadSafe |
VRRotationIntensityint | The intensity of camera rotation when turning in VR.Read: RobloxScriptSecurityWrite: RobloxScriptSecurityReadSafe |
VRSmoothRotationEnabledboolean | Indicates whether smooth rotation is used instead of snap rotation in VR.Write: RobloxScriptSecurityReadSafe |
AllTutorialsDisabled: boolean#
Read: RobloxScriptSecurityWrite: RobloxScriptSecurityReadSafe
Indicates whether all in-game tutorials have been disabled by the user.
BadgeVisible: boolean#
Read: RobloxScriptSecurityWrite: RobloxScriptSecurityReadSafe
Indicates whether badge notifications are visible to the client.
CameraMode: CustomCameraMode#
Read: RobloxScriptSecurityWrite: RobloxScriptSecurityReadSafe
The custom camera mode currently in-use by the client.
ChatVisible: boolean#
Read: RobloxScriptSecurityWrite: RobloxScriptSecurityReadSafe
Indicates whether the in-game chat is visible to the client.
ComputerCameraMovementMode: ComputerCameraMovementMode#
ReadSafe
The camera movement mode currently in-use by the client on desktop.
ComputerMovementMode: ComputerMovementMode#
ReadSafe
The type of controls being used by the client on desktop.
ControlMode: ControlMode#
ReadSafeDeprecated
Deprecated. This property has been deprecated. You can enable mouse-locked
third-person control, or "Shift Lock Mode", through the
MouseBehavior in
PlayerScripts:RegisterTouchCameraMovementMode() and
PlayerScripts:RegisterComputerCameraMovementMode().
Toggles whether or not the client can use the Mouse Lock Switch mode.
Fullscreen: boolean#
Read: RobloxScriptSecurityWrite: RobloxScriptSecurityReadSafe
Indicates whether the client's window is currently in full screen mode.
GamepadCameraSensitivity: float#
ReadSafe
Describes how sensitive the camera is when using a gamepad.
GraphicsOptimizationMode: GraphicsOptimizationMode#
Read: RobloxScriptSecurityWrite: RobloxScriptSecurityReadSafe
The graphics optimization mode used by the client to balance visual quality and performance.
GraphicsQualityLevel: int#
Read: RobloxScriptSecurityWrite: RobloxScriptSecurityReadSafe
The current graphics quality level being used by the client.
HasEverUsedVR: boolean#
Read: RobloxScriptSecurityWrite: RobloxScriptSecurityReadSafe
Indicates whether the user has ever launched the client in VR mode.
MasterVolume: float#
Read: RobloxScriptSecurityWrite: RobloxScriptSecurityReadSafe
A float between 0 and 1 representing the volume of the game's client.
MasterVolumeStudio: float#
Read: RobloxScriptSecurityWrite: RobloxScriptSecurityReadSafe
A float between 0 and 1 representing the master volume used in Roblox Studio.
MaxQualityEnabled: boolean#
Read: RobloxScriptSecurityWrite: RobloxScriptSecurityReadSafe
Indicates whether the client's graphics quality is set to the maximum available level.
MouseSensitivity: float#
ReadSafe
A float between 0 and 4 representing the sensitivity of the client's camera sensitivity.
OnboardingsCompleted: string#
Read: RobloxScriptSecurityWrite: RobloxScriptSecurityReadSafe
A comma-separated list of onboarding IDs that the user has completed.
PartyVoiceVolume: float#
Read: RobloxScriptSecurityWrite: RobloxScriptSecurityReadSafe
A float between 0 and 1 representing the volume of party voice chat.
PeoplePageLayout: PeoplePageLayout#
Read: RobloxScriptSecurityWrite: RobloxScriptSecurityReadSafe
The layout style used to display the people page in the in-game menu.
PlayerListVisible: boolean#
Read: RobloxScriptSecurityWrite: RobloxScriptSecurityReadSafe
Indicates whether the in-game player list is visible to the client.
PlayerNamesEnabled: boolean#
Read: RobloxScriptSecurityWrite: RobloxScriptSecurityReadSafe
Indicates whether player names are displayed above characters in the game.
RCCProfilerRecordFrameRate: int#
ReadSafe
Internal MicroProfiler setting specifying the frame rate used when capturing server-side RCC profiler data.
RCCProfilerRecordTimeFrame: int#
ReadSafe
Internal MicroProfiler setting specifying the duration over which server-side RCC profiler data is captured.
RotationType: RotationType#
ReadSafe
Controls how the client's character is rotated.
SavedQualityLevel: SavedQualitySetting#
ReadSafe
The graphics quality level set by the client.
StartMaximized: boolean#
NotReplicatedNotScriptableRead: RobloxScriptSecurityWrite: RobloxScriptSecurityReadSafe
Indicates whether Roblox Studio should launch in a maximized window.
StartScreenPosition: Vector2#
NotReplicatedNotScriptableRead: RobloxScriptSecurityWrite: RobloxScriptSecurityReadSafe
The screen position of the client's window when the application launches.
StartScreenSize: Vector2#
NotReplicatedNotScriptableRead: RobloxScriptSecurityWrite: RobloxScriptSecurityReadSafe
The size of the client's window when the application launches.
TouchCameraMovementMode: TouchCameraMovementMode#
ReadSafe
The camera type in-use by the client while on a mobile device.
TouchMovementMode: TouchMovementMode#
ReadSafe
The type of controls being used by the client on a mobile device.
UsedCoreGuiIsVisibleToggle: boolean#
Read: RobloxScriptSecurityWrite: RobloxScriptSecurityReadSafe
Indicates whether the user has toggled the visibility of core GUI elements.
UsedCustomGuiIsVisibleToggle: boolean#
Read: RobloxScriptSecurityWrite: RobloxScriptSecurityReadSafe
Indicates whether the user has toggled the visibility of custom GUI elements.
UsedHideHudShortcut: boolean#
Read: RobloxScriptSecurityWrite: RobloxScriptSecurityReadSafe
Indicates whether the user has used the keyboard shortcut for hiding the HUD.
VignetteEnabled: boolean#
Write: RobloxScriptSecurityReadSafe
Indicates whether the VR vignette comfort effect is enabled.
VoiceChatVolume: float#
Read: RobloxScriptSecurityWrite: RobloxScriptSecurityReadSafe
A float between 0 and 2 representing the volume of in-game voice chat.
VREnabled: boolean#
Read: RobloxScriptSecurityWrite: RobloxScriptSecurityReadSafe
Indicates whether the client is currently running in VR mode.
VRRotationIntensity: int#
Read: RobloxScriptSecurityWrite: RobloxScriptSecurityReadSafe
The intensity of camera rotation when turning in VR.
VRSmoothRotationEnabled: boolean#
Write: RobloxScriptSecurityReadSafe
Indicates whether smooth rotation is used instead of snap rotation in VR.
Methods 7#
| GetCameraYInvertValue | Returns the camera's Y-invert value. |
| GetOnboardingCompleted | Checks if onboarding has been completed. |
| InFullScreen | Returns true if the user's Roblox window is in full screen mode. |
| InStudioMode | Returns true if the client's game session is in Roblox Studio. |
| SetCameraYInvertVisible | If called, Roblox toggles the menu option to invert the user's camera y axis. |
| SetGamepadCameraSensitivityVisible | If called, Roblox toggles the menu option to control the camera sensitivity with gamepads. |
| SetOnboardingCompleted | Sets onboarding as completed. |
GetCameraYInvertValue(): int#
Returns the camera's Y-invert value.
Returns
int— The camera's current Y-axis inversion multiplier.
GetOnboardingCompleted(onboardingId: string): boolean#
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:
UserGameSettings:SetOnboardingCompleted(), sets onboarding as completed
| Name | Type | Default | Description |
|---|---|---|---|
onboardingId | string | The onboarding ID to inquire about. |
Returns
boolean— Whether or not the onboarding in particular has been completed yet.
InFullScreen(): boolean#
Returns true if the user's Roblox window is in full screen mode.
Returns
boolean— Whether the user's Roblox window is in full screen mode.
InStudioMode(): boolean#
Returns true if the client's game session is in Roblox Studio.
Returns
boolean— Whether the current client session is running in Roblox Studio.
SetCameraYInvertVisible(): ()#
If called, Roblox toggles the menu option to invert the user's camera y axis.
Returns
()
SetGamepadCameraSensitivityVisible(): ()#
If called, Roblox toggles the menu option to control the camera sensitivity with gamepads.
Returns
()
SetOnboardingCompleted(onboardingId: string): ()#
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:
UserGameSettings:GetOnboardingCompleted(), checks if onboarding has been completed
| Name | Type | Default | Description |
|---|---|---|---|
onboardingId | string | The onboarding ID to set as completed. |
Returns
()
Events 2#
| FullscreenChanged | Fires if the user's full screen mode is changed. |
| 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. |
FullscreenChanged(isFullscreen: boolean)#
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.
| Name | Type | Default | Description |
|---|---|---|---|
isFullscreen | boolean | Whether the user's Roblox window is now in full screen mode. |
StudioModeChanged(isStudioMode: boolean)#
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.
| Name | Type | Default | Description |
|---|---|---|---|
isStudioMode | boolean | Whether the client session is now running in Roblox Studio. |
Inherited members#
Inherited from Instance 58
Properties (10)
Archivable, archivable, Capabilities, IsInSandbox, Name, Parent, PredictionMode, RobloxLocked, Sandboxed, UniqueId
Methods (39)
AddTag, children, ClearAllChildren, Clone, clone, Destroy, destroy, FindFirstAncestor, FindFirstAncestorOfClass, FindFirstAncestorWhichIsA, FindFirstChild, findFirstChild, FindFirstChildOfClass, FindFirstChildWhichIsA, FindFirstDescendant, GetActor, GetAttribute, GetAttributeChangedSignal, GetAttributes, GetChildren, getChildren, GetDebugId, GetDescendants, GetFullName, GetStyled, GetStyledPropertyChangedSignal, GetTags, HasTag, IsAncestorOf, IsDescendantOf, isDescendantOf, IsPropertyModified, QueryDescendants, Remove, remove, RemoveTag, ResetPropertyToDefault, SetAttribute, WaitForChild