# UserGameSettings

Roblox Engine API class from Roblox Studio 0.744.0.7441077 (version-7aaa6838d36c4448).

- Inherits from, nearest first: [Instance](https://rapi.sleaze.dev/classes/Instance.md), [Object](https://rapi.sleaze.dev/classes/Object.md)
- Tags: Not creatable, Not replicated, Service
- Memory category: Instances
- HTML page: https://rapi.sleaze.dev/classes/UserGameSettings/
- Roblox documentation: https://create.roblox.com/docs/reference/engine/classes/UserGameSettings

[`UserGameSettings`](https://rapi.sleaze.dev/classes/UserGameSettings.md) is a singleton class found inside of the [`UserSettings`](https://rapi.sleaze.dev/classes/UserSettings.md) singleton. It holds various persistent settings relating to how the user wants to control their camera, and their character.

## Properties

### GraphicsOptimizationMode

```luau
UserGameSettings.GraphicsOptimizationMode: Enum.GraphicsOptimizationMode
```

- Tags: Roblox script security

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

### GraphicsQualityLevel

```luau
UserGameSettings.GraphicsQualityLevel: number
```

- Tags: Roblox script security

The current graphics quality level being used by the client.

### MaxQualityEnabled

```luau
UserGameSettings.MaxQualityEnabled: boolean
```

- Tags: Roblox script security

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

### SavedQualityLevel

```luau
UserGameSettings.SavedQualityLevel: Enum.SavedQualitySetting
```

- Tags: Capabilities: Players

The graphics quality level set by the client.

### gaID

```luau
UserGameSettings.gaID: string
```

- Tags: Hidden, Not replicated, Not scriptable, Roblox script security

### CameraMode

```luau
UserGameSettings.CameraMode: Enum.CustomCameraMode
```

- Tags: Roblox script security

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

### ComputerCameraMovementMode

```luau
UserGameSettings.ComputerCameraMovementMode: Enum.ComputerCameraMovementMode
```

- Tags: Capabilities: Input

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

### ComputerMovementMode

```luau
UserGameSettings.ComputerMovementMode: Enum.ComputerMovementMode
```

- Tags: Capabilities: Input

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

### ControlMode

```luau
UserGameSettings.ControlMode: Enum.ControlMode
```

- Tags: Capabilities: Input

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

### HapticStrength

```luau
UserGameSettings.HapticStrength: number
```

- Tags: Hidden, Not replicated, Roblox script security

### RotationType

```luau
UserGameSettings.RotationType: Enum.RotationType
```

- Tags: Capabilities: Input

Controls how the client's character is rotated.

### TouchCameraMovementMode

```luau
UserGameSettings.TouchCameraMovementMode: Enum.TouchCameraMovementMode
```

- Tags: Capabilities: Input

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

### TouchMovementMode

```luau
UserGameSettings.TouchMovementMode: Enum.TouchMovementMode
```

- Tags: Capabilities: Input

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

### VRComfortSetting

```luau
UserGameSettings.VRComfortSetting: Enum.VRComfortSetting
```

- Tags: Hidden, Not replicated, Roblox script security

### VRSafetyBubbleMode

```luau
UserGameSettings.VRSafetyBubbleMode: Enum.VRSafetyBubbleMode
```

- Tags: Hidden, Not replicated, Roblox script security

### AllTutorialsDisabled

```luau
UserGameSettings.AllTutorialsDisabled: boolean
```

- Tags: Roblox script security

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

### BadgeVisible

```luau
UserGameSettings.BadgeVisible: boolean
```

- Tags: Roblox script security

Indicates whether badge notifications are visible to the client.

### CameraYInverted

```luau
UserGameSettings.CameraYInverted: boolean
```

- Tags: Hidden, Not replicated, Roblox script security

### ChatTranslationEnabled

```luau
UserGameSettings.ChatTranslationEnabled: boolean
```

- Tags: Hidden, Not replicated, Roblox script security

### ChatTranslationFTUXShown

```luau
UserGameSettings.ChatTranslationFTUXShown: boolean
```

- Tags: Hidden, Not replicated, Roblox script security

### ChatTranslationLocale

```luau
UserGameSettings.ChatTranslationLocale: string
```

- Tags: Hidden, Not replicated, Roblox script security

### ChatTranslationToggleEnabled

```luau
UserGameSettings.ChatTranslationToggleEnabled: boolean
```

- Tags: Hidden, Not replicated, Roblox script security

### ChatVisible

```luau
UserGameSettings.ChatVisible: boolean
```

- Tags: Roblox script security

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

### CompletedTutorials

```luau
UserGameSettings.CompletedTutorials: string
```

- Tags: Hidden, Not scriptable, Roblox script security

### ComputerCameraMovementChanged

```luau
UserGameSettings.ComputerCameraMovementChanged: boolean
```

- Tags: Hidden, Not replicated, Not scriptable, Roblox engine security

### ComputerMovementChanged

```luau
UserGameSettings.ComputerMovementChanged: boolean
```

- Tags: Hidden, Not replicated, Not scriptable, Roblox engine security

### DefaultCameraID

```luau
UserGameSettings.DefaultCameraID: string
```

- Tags: Hidden, Not replicated, Roblox script security

### FramerateCap

```luau
UserGameSettings.FramerateCap: number
```

- Tags: Hidden, Not replicated, Roblox script security

### Fullscreen

```luau
UserGameSettings.Fullscreen: boolean
```

- Tags: Roblox script security

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

### GamepadCameraSensitivity

```luau
UserGameSettings.GamepadCameraSensitivity: number
```

- Tags: Capabilities: Input

Describes how sensitive the camera is when using a gamepad.

### HasEverUsedVR

```luau
UserGameSettings.HasEverUsedVR: boolean
```

- Tags: Roblox script security

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

### IsUsingCameraYInverted

```luau
UserGameSettings.IsUsingCameraYInverted: boolean
```

- Tags: Hidden, Read only, Roblox script security, Save only

### IsUsingGamepadCameraSensitivity

```luau
UserGameSettings.IsUsingGamepadCameraSensitivity: boolean
```

- Tags: Hidden, Read only, Roblox script security, Save only

### MasterVolume

```luau
UserGameSettings.MasterVolume: number
```

- Tags: Roblox script security

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

### MasterVolumeStudio

```luau
UserGameSettings.MasterVolumeStudio: number
```

- Tags: Roblox script security

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

### MicroProfilerWebServerEnabled

```luau
UserGameSettings.MicroProfilerWebServerEnabled: boolean
```

- Tags: Hidden, Roblox script security

### MicroProfilerWebServerIP

```luau
UserGameSettings.MicroProfilerWebServerIP: string
```

- Tags: Hidden, Read only, Roblox script security, Save only

### MicroProfilerWebServerPort

```luau
UserGameSettings.MicroProfilerWebServerPort: number
```

- Tags: Hidden, Read only, Roblox script security, Save only

### MouseSensitivity

```luau
UserGameSettings.MouseSensitivity: number
```

- Tags: Capabilities: Input

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

### MouseSensitivityFirstPerson

```luau
UserGameSettings.MouseSensitivityFirstPerson: Vector2
```

- Tags: Hidden, Not replicated, Roblox script security

### MouseSensitivityThirdPerson

```luau
UserGameSettings.MouseSensitivityThirdPerson: Vector2
```

- Tags: Hidden, Not replicated, Roblox script security

### OnboardingsCompleted

```luau
UserGameSettings.OnboardingsCompleted: string
```

- Tags: Roblox script security

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

### OnScreenProfilerEnabled

```luau
UserGameSettings.OnScreenProfilerEnabled: boolean
```

- Tags: Hidden, Roblox script security

### PartyVoiceVolume

```luau
UserGameSettings.PartyVoiceVolume: number
```

- Tags: Roblox script security

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

### PeoplePageLayout

```luau
UserGameSettings.PeoplePageLayout: Enum.PeoplePageLayout
```

- Tags: Roblox script security

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

### PerformanceStatsVisible

```luau
UserGameSettings.PerformanceStatsVisible: boolean
```

- Tags: Hidden, Roblox script security

### PlayerHeight

```luau
UserGameSettings.PlayerHeight: number
```

- Tags: Hidden, Not replicated, Roblox script security

### PlayerListVisible

```luau
UserGameSettings.PlayerListVisible: boolean
```

- Tags: Roblox script security

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

### PlayerNamesEnabled

```luau
UserGameSettings.PlayerNamesEnabled: boolean
```

- Tags: Roblox script security

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

### PreferredTextSize

```luau
UserGameSettings.PreferredTextSize: Enum.PreferredTextSize
```

- Tags: Hidden, Not replicated, Roblox script security

### PreferredTransparency

```luau
UserGameSettings.PreferredTransparency: number
```

- Tags: Hidden, Not replicated, Roblox script security

### QualityResetLevel

```luau
UserGameSettings.QualityResetLevel: number
```

- Tags: Hidden, Roblox script security

### RCCProfilerRecordFrameRate

```luau
UserGameSettings.RCCProfilerRecordFrameRate: number
```

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

### RCCProfilerRecordTimeFrame

```luau
UserGameSettings.RCCProfilerRecordTimeFrame: number
```

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

### ReadAloud

```luau
UserGameSettings.ReadAloud: boolean
```

- Tags: Hidden, Not replicated, Roblox script security

### ReducedMotion

```luau
UserGameSettings.ReducedMotion: boolean
```

- Tags: Hidden, Not replicated, Roblox script security

### StartMaximized

```luau
UserGameSettings.StartMaximized: boolean
```

- Tags: Not replicated, Not scriptable, Roblox script security

Indicates whether Roblox Studio should launch in a maximized window.

### StartScreenPosition

```luau
UserGameSettings.StartScreenPosition: Vector2
```

- Tags: Not replicated, Not scriptable, Roblox script security

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

### StartScreenSize

```luau
UserGameSettings.StartScreenSize: Vector2
```

- Tags: Not replicated, Not scriptable, Roblox script security

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

### StudioPreferredTextSize

```luau
UserGameSettings.StudioPreferredTextSize: Enum.PreferredTextSize
```

- Tags: Hidden, Not replicated, Roblox script security

### TouchCameraMovementChanged

```luau
UserGameSettings.TouchCameraMovementChanged: boolean
```

- Tags: Hidden, Not replicated, Not scriptable, Roblox engine security

### TouchMovementChanged

```luau
UserGameSettings.TouchMovementChanged: boolean
```

- Tags: Hidden, Not replicated, Not scriptable, Roblox engine security

### UiNavigationKeyBindEnabled

```luau
UserGameSettings.UiNavigationKeyBindEnabled: boolean
```

- Tags: Hidden, Not replicated, Roblox script security

### UIScaleMultiplierHundredths

```luau
UserGameSettings.UIScaleMultiplierHundredths: number
```

- Tags: Hidden, Not replicated, Roblox script security

### UsedCoreGuiIsVisibleToggle

```luau
UserGameSettings.UsedCoreGuiIsVisibleToggle: boolean
```

- Tags: Roblox script security

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

### UsedCustomGuiIsVisibleToggle

```luau
UserGameSettings.UsedCustomGuiIsVisibleToggle: boolean
```

- Tags: Roblox script security

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

### UsedHideHudShortcut

```luau
UserGameSettings.UsedHideHudShortcut: boolean
```

- Tags: Roblox script security

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

### VignetteEnabled

```luau
UserGameSettings.VignetteEnabled: boolean
```

- Tags: Write: Roblox script security

Indicates whether the VR vignette comfort effect is enabled.

### VignetteEnabledCustomOption

```luau
UserGameSettings.VignetteEnabledCustomOption: boolean
```

- Tags: Hidden, Not replicated, Roblox script security

### VoiceChatVolume

```luau
UserGameSettings.VoiceChatVolume: number
```

- Tags: Roblox script security

A float between `0` and `2` representing the volume of in-game voice chat.

### VREnabled

```luau
UserGameSettings.VREnabled: boolean
```

- Tags: Roblox script security

Indicates whether the client is currently running in VR mode.

### VRRotationIntensity

```luau
UserGameSettings.VRRotationIntensity: number
```

- Tags: Roblox script security

The intensity of camera rotation when turning in VR.

### VRSmoothRotationEnabled

```luau
UserGameSettings.VRSmoothRotationEnabled: boolean
```

- Tags: Write: Roblox script security

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

### VRSmoothRotationEnabledCustomOption

```luau
UserGameSettings.VRSmoothRotationEnabledCustomOption: boolean
```

- Tags: Hidden, Not replicated, Roblox script security

### VRThirdPersonFollowCamEnabled

```luau
UserGameSettings.VRThirdPersonFollowCamEnabled: boolean
```

- Tags: Hidden, Not replicated, Roblox script security

### VRThirdPersonFollowCamEnabledCustomOption

```luau
UserGameSettings.VRThirdPersonFollowCamEnabledCustomOption: boolean
```

- Tags: Hidden, Not replicated, Roblox script security

## Methods

### GetCameraYInvertValue

```luau
UserGameSettings:GetCameraYInvertValue(): number
```

- Tags: Capabilities: Input

Returns the camera's Y-invert value.

Returns: The camera's current Y-axis inversion multiplier.

### GetDefaultFramerateCap

```luau
UserGameSettings:GetDefaultFramerateCap(): number
```

- Tags: Roblox script security

### GetOnboardingCompleted

```luau
UserGameSettings:GetOnboardingCompleted(onboardingId: string): boolean
```

- Tags: Capabilities: Players

Checks if onboarding has been completed.

Parameters:

- `onboardingId`: The onboarding ID to inquire about.

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

### GetTutorialState

```luau
UserGameSettings:GetTutorialState(tutorialId: string): boolean
```

- Tags: Roblox script security

### InFullScreen

```luau
UserGameSettings:InFullScreen(): boolean
```

- Tags: Capabilities: Players

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

Returns: Whether the user's Roblox window is in full screen mode.

### InStudioMode

```luau
UserGameSettings:InStudioMode(): boolean
```

- Tags: Capabilities: Players

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

Returns: Whether the current client session is running in Roblox Studio.

### ResetOnboardingCompleted

```luau
UserGameSettings:ResetOnboardingCompleted(onboardingId: string)
```

- Tags: Roblox script security

### SetCameraYInvertVisible

```luau
UserGameSettings:SetCameraYInvertVisible()
```

- Tags: Capabilities: Input

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

### SetGamepadCameraSensitivityVisible

```luau
UserGameSettings:SetGamepadCameraSensitivityVisible()
```

- Tags: Capabilities: Input

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

### SetOnboardingCompleted

```luau
UserGameSettings:SetOnboardingCompleted(onboardingId: string)
```

- Tags: Capabilities: Players

Sets onboarding as completed.

Parameters:

- `onboardingId`: The onboarding ID to set as completed.

### SetTutorialState

```luau
UserGameSettings:SetTutorialState(tutorialId: string, value: boolean)
```

- Tags: Roblox script security

## Events

### FullscreenChanged

```luau
UserGameSettings.FullscreenChanged: RBXScriptSignal<(isFullscreen: boolean)>
```

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

### PerformanceStatsVisibleChanged

```luau
UserGameSettings.PerformanceStatsVisibleChanged: RBXScriptSignal<(isPerformanceStatsVisible: boolean)>
```

- Tags: Roblox script security

### StudioModeChanged

```luau
UserGameSettings.StudioModeChanged: RBXScriptSignal<(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.

## Inherited members

- From [Instance](https://rapi.sleaze.dev/classes/Instance.md): `Archivable`, `archivable`, `Attributes`, `AttributesReplicate`, `AttributesSerialize`, `HistoryId`, `Name`, `Parent`, `PredictionMode`, `PropertyStatusStudio`, `RobloxLocked`, `SerializedOverrides`, `SourceAssetId`, `Tags`, `UniqueId`, `numExpectedDirectChildren`, `DataCost`, `Capabilities`, `DefinesCapabilities`, `IsInSandbox`, `Sandboxed`, `AddTag`, `ClearAllChildren`, `Clone`, `Destroy`, `FindFirstAncestor`, `FindFirstAncestorOfClass`, `FindFirstAncestorWhichIsA`, `FindFirstChild`, `FindFirstChildOfClass`, `FindFirstChildWhichIsA`, `FindFirstDescendant`, `GetActor`, `GetAttribute`, `GetAttributeChangedSignal`, `GetAttributes`, `GetChildren`, `GetDebugId`, `GetDescendants`, `GetFullName`, `GetStyled`, `GetStyledPropertyChangedSignal`, `GetTags`, `HasTag`, `IsAncestorOf`, `IsDescendantOf`, `IsPropertyModified`, `QueryDescendants`, `RemoveTag`, `ResetPropertyToDefault`, `SetAttribute`, `WaitForChild`, `Remove`, `children`, `clone`, `destroy`, `findFirstChild`, `getChildren`, `isDescendantOf`, `remove`, `AncestryChanged`, `AttributeChanged`, `ChildAdded`, `ChildRemoved`, `DescendantAdded`, `DescendantRemoving`, `Destroying`, `StyledPropertiesChanged`, `childAdded`
- From [Object](https://rapi.sleaze.dev/classes/Object.md): `ClassName`, `className`, `GetPropertyChangedSignal`, `IsA`, `isA`, `Changed`
