Reference API Roblox

Engine API

Website

Related

Reference API Roblox

UserGameSettings

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.

This class is not replicated. Its interface does not cross the network boundary.
This class is not creatable. Instances of this class cannot be created with Instance.new.
This class is a service. It is a singleton that may be acquired with GetService.
Tags: [NotCreatable, Service, NotReplicated]

Member index 88

HistoryMember
657AllTutorialsDisabled: bool
687BadgeVisible: bool
657CameraMode: CustomCameraMode
657ChatVisible: bool
657ComputerCameraMovementMode: ComputerCameraMovementMode
657ComputerMovementMode: ComputerMovementMode
657ControlMode: ControlMode
657Fullscreen: bool
657GamepadCameraSensitivity: float
657GraphicsOptimizationMode: GraphicsOptimizationMode
657GraphicsQualityLevel: int
657HasEverUsedVR: bool
657MasterVolume: float
657MasterVolumeStudio: float
657MaxQualityEnabled: bool
657MouseSensitivity: float
657OnboardingsCompleted: string
657PartyVoiceVolume: float
691PeoplePageLayout: PeoplePageLayout
689PlayerListVisible: bool
687PlayerNamesEnabled: bool
657RCCProfilerRecordFrameRate: int
657RCCProfilerRecordTimeFrame: int
657RotationType: RotationType
657SavedQualityLevel: SavedQualitySetting
657StartMaximized: bool
657StartScreenPosition: Vector2
657StartScreenSize: Vector2
657TouchCameraMovementMode: TouchCameraMovementMode
657TouchMovementMode: TouchMovementMode
657UsedCoreGuiIsVisibleToggle: bool
657UsedCustomGuiIsVisibleToggle: bool
657UsedHideHudShortcut: bool
657VREnabled: bool
657VRRotationIntensity: int
657VRSmoothRotationEnabled: bool
657VignetteEnabled: bool
462GetCameraYInvertValue(): int
623GetDefaultFramerateCap(): int
462GetOnboardingCompleted(onboardingId: string): bool
462GetTutorialState(tutorialId: string): bool
462InFullScreen(): bool
462InStudioMode(): bool
573ResetOnboardingCompleted(onboardingId: string): null
573SetCameraYInvertVisible(): null
573SetGamepadCameraSensitivityVisible(): null
573SetOnboardingCompleted(onboardingId: string): null
573SetTutorialState(tutorialId: string, value: bool): null
462FullscreenChanged(isFullscreen: bool)
462PerformanceStatsVisibleChanged(isPerformanceStatsVisible: bool)
462StudioModeChanged(isStudioMode: bool)
inherited from Instance
553Archivable: bool
670Capabilities: SecurityCapabilities
553Name: string
553Parent: Instance
702PredictionMode: PredictionMode
670Sandboxed: bool
680UniqueId: UniqueId
576AddTag(tag: string): null
573ClearAllChildren(): null
462Clone(): Instance
573Destroy(): null
486FindFirstAncestor(name: string): Instance
486FindFirstAncestorOfClass(className: string): Instance
486FindFirstAncestorWhichIsA(className: string): Instance
486FindFirstChild(name: string, recursive: bool = false): Instance
486FindFirstChildOfClass(className: string): Instance
486FindFirstChildWhichIsA(className: string, recursive: bool = false): Instance
486FindFirstDescendant(name: string): Instance
563GetActor(): Actor
486GetAttribute(attribute: string): Variant
462GetAttributeChangedSignal(attribute: string): RBXScriptSignal
631GetAttributes(): Dictionary
648GetChildren(): Instances
462GetDebugId(scopeLength: int = 4): string
707GetDescendants(): Instances
486GetFullName(): string
706GetStyled(name: string, selector: string?): Variant
657GetStyledPropertyChangedSignal(property: string): RBXScriptSignal
576GetTags(): Array
576HasTag(tag: string): bool
486IsAncestorOf(descendant: Instance): bool
486IsDescendantOf(ancestor: Instance): bool
664IsPropertyModified(property: string): bool
698QueryDescendants(selector: string): Instances
573Remove(): null
576RemoveTag(tag: string): null
664ResetPropertyToDefault(property: string): null
573SetAttribute(attribute: string, value: Variant): null
462WaitForChild(childName: string, timeOut: double): Instance
648children(): Instances
553clone(): Instance
573destroy(): null
553findFirstChild(name: string, recursive: bool = false): Instance
648getChildren(): Instances
553isDescendantOf(ancestor: Instance): bool
573remove(): null
462AncestryChanged(child: Instance, parent: Instance)
462AttributeChanged(attribute: string)
462ChildAdded(child: Instance)
462ChildRemoved(child: Instance)
462DescendantAdded(descendant: Instance)
462DescendantRemoving(descendant: Instance)
500Destroying()
657StyledPropertiesChanged()
553childAdded(child: Instance)
inherited from Object
647ClassName: string
647className: string
647GetPropertyChangedSignal(property: string): RBXScriptSignal
647IsA(className: string): bool
650isA(className: string): bool
647Changed(property: string)

Removed member index 5

HistoryMember
304ImageUploadPromptBehavior: UploadSetting
304VideoUploadPromptBehavior: UploadSetting

Description

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.

The properties on this class reflect both the user-facing options exposed in the in-experience 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:

1
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.

History 346

Members 88

AllTutorialsDisabled

TypeDefault
bool

Indicates whether all in-experience tutorials have been disabled by the user.

History 7

BadgeVisible

TypeDefault
bool

Indicates whether badge notifications are visible to the client.

History 1

CameraMode

TypeDefault
CustomCameraMode

The custom camera mode currently in-use by the client.

History 8

ChatVisible

TypeDefault
bool

Indicates whether the in-experience chat is visible to the client.

History 5

ComputerCameraMovementMode

TypeDefault
ComputerCameraMovementMode

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

History 5

ComputerMovementMode

TypeDefault
ComputerMovementMode

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

History 5

ControlMode

TypeDefault
ControlMode

Toggles whether or not the client can use the Mouse Lock Switch mode.

History 15

Fullscreen

TypeDefault
bool

Indicates whether the client's window is currently in full screen mode.

History 7

FullscreenChanged

Parameters (1)
isFullscreenbool

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.

History 2

GamepadCameraSensitivity

TypeDefault
float

Describes how sensitive the camera is when using a gamepad.

History 7

GetCameraYInvertValue

Parameters (0)
No parameters.
Returns (1)
int

Returns the camera's Y-invert value.

History 2

GetDefaultFramerateCap

Parameters (0)
No parameters.
Returns (1)
int

History 1

GetOnboardingCompleted

Parameters (1)
onboardingIdstring
Returns (1)
bool

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:

History 2

GetTutorialState

Parameters (1)
tutorialIdstring
Returns (1)
bool

History 2

GraphicsOptimizationMode

TypeDefault
GraphicsOptimizationMode

The graphics optimization mode used by the client to balance visual quality and performance.

History 2

GraphicsQualityLevel

TypeDefault
int

The current graphics quality level being used by the client.

History 5

HasEverUsedVR

TypeDefault
bool

Indicates whether the user has ever launched the client in VR mode.

History 5

InFullScreen

Parameters (0)
No parameters.
Returns (1)
bool

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

History 2

InStudioMode

Parameters (0)
No parameters.
Returns (1)
bool

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

History 2

MasterVolume

TypeDefault
float

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

History 9

MasterVolumeStudio

TypeDefault
float

A float between 0 and 1 representing the master volume used in Roblox Studio.

History 2

MaxQualityEnabled

TypeDefault
bool

Indicates whether the client's graphics quality is set to the maximum available level.

History 2

MouseSensitivity

TypeDefault
float

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

History 5

OnboardingsCompleted

TypeDefault
string

A comma-separated list of onboarding IDs that the user has completed.

History 5

PartyVoiceVolume

TypeDefault
float

A float between 0 and 1 representing the volume of party voice chat.

History 2

PeoplePageLayout

TypeDefault
PeoplePageLayout

The layout style used to display the people page in the in-experience menu.

History 1

PerformanceStatsVisibleChanged

Parameters (1)
isPerformanceStatsVisiblebool

History 2

PlayerListVisible

TypeDefault
bool

Indicates whether the in-experience player list is visible to the client.

History 1

PlayerNamesEnabled

TypeDefault
bool

Indicates whether player names are displayed above characters in the experience.

History 1

RCCProfilerRecordFrameRate

TypeDefault
int

Internal MicroProfiler setting specifying the frame rate used when capturing server-side RCC profiler data.

History 5

RCCProfilerRecordTimeFrame

TypeDefault
int

Internal MicroProfiler setting specifying the duration over which server-side RCC profiler data is captured.

History 5

ResetOnboardingCompleted

Parameters (1)
onboardingIdstring
Returns (1)
null

History 3

RotationType

TypeDefault
RotationType

Controls how the client's character is rotated.

History 5

SavedQualityLevel

TypeDefault
SavedQualitySetting

The graphics quality level set by the client.

History 9

SetCameraYInvertVisible

Parameters (0)
No parameters.
Returns (1)
null

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

History 3

SetGamepadCameraSensitivityVisible

Parameters (0)
No parameters.
Returns (1)
null

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

History 5

SetOnboardingCompleted

Parameters (1)
onboardingIdstring
Returns (1)
null

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:

History 3

SetTutorialState

Parameters (2)
tutorialIdstring
valuebool
Returns (1)
null

History 3

StartMaximized

TypeDefault
bool

Indicates whether Roblox Studio should launch in a maximized window.

This property is not scriptable. It cannot be accessed by script code.
This property is not replicated. Its interface does not cross the network boundary.

History 5

Tags: [NotReplicated, NotScriptable]

StartScreenPosition

TypeDefault
Vector2

The screen position of the client's window when the application launches.

This property is not scriptable. It cannot be accessed by script code.
This property is not replicated. Its interface does not cross the network boundary.

History 5

Tags: [NotReplicated, NotScriptable]

StartScreenSize

TypeDefault
Vector2

The size of the client's window when the application launches.

This property is not scriptable. It cannot be accessed by script code.
This property is not replicated. Its interface does not cross the network boundary.

History 5

Tags: [NotReplicated, NotScriptable]

StudioModeChanged

Parameters (1)
isStudioModebool

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.

History 2

TouchCameraMovementMode

TypeDefault
TouchCameraMovementMode

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

History 5

TouchMovementMode

TypeDefault
TouchMovementMode

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

History 5

UsedCoreGuiIsVisibleToggle

TypeDefault
bool

Indicates whether the user has toggled the visibility of core GUI elements.

History 5

UsedCustomGuiIsVisibleToggle

TypeDefault
bool

Indicates whether the user has toggled the visibility of custom GUI elements.

History 5

UsedHideHudShortcut

TypeDefault
bool

Indicates whether the user has used the keyboard shortcut for hiding the HUD.

History 5

VREnabled

TypeDefault
bool

Indicates whether the client is currently running in VR mode.

History 5

VRRotationIntensity

TypeDefault
int

The intensity of camera rotation when turning in VR.

History 7

VRSmoothRotationEnabled

TypeDefault
bool

Indicates whether smooth rotation is used instead of snap rotation in VR.

History 3

VignetteEnabled

TypeDefault
bool

Indicates whether the VR vignette comfort effect is enabled.

History 5

Removed members 5

ImageUploadPromptBehavior

TypeDefault
UploadSetting

History 4

VideoUploadPromptBehavior

TypeDefault
UploadSetting

History 4

Settings