Roblox UtilitiesDevlHub Roblox Documentation

Class

RenderSettings

NotCreatableServiceNotReplicatedNotBrowsable
Inherits
Instance › Object
Memory category
Instances

A singleton settings class that exposes rendering configuration for graphics quality, framerate management, and debug visualization in Roblox Studio.

RenderSettings is a singleton class which lets developers debug components of Roblox's graphics engine. It can be found in Roblox Studio's settings under the Rendering tab.

Properties 15#

AutoFRMLevelintSets the starting quality level of the framerate manager.Read: PluginSecurityWrite: PluginSecurityReadSafe
EagerBulkExecutionbooleanWhether all scene updates will be given an unlimited budget, regardless of how computationally expensive it may be.Read: PluginSecurityWrite: PluginSecurityReadSafe
EditQualityLevelQualityLevelSets the graphics quality level in Roblox Studio.Read: PluginSecurityWrite: PluginSecurityReadSafe
Enable VR ModebooleanToggles whether virtual reality (VR) mode is enabled.Read: PluginSecurityWrite: PluginSecurityReadSafe
EnableFRMbooleanToggles the enabled state of the framerate manager.Read: PluginSecurityWrite: PluginSecurityReadSafeHiddenNotReplicated
ExportMergeByMaterialbooleanSets whether materials should be generated per part, or per unique appearance in Roblox's exporter.Read: PluginSecurityWrite: PluginSecurityReadSafe
FrameRateManagerFramerateManagerModeSpecifies the behavior of the framerate manager.Read: PluginSecurityWrite: PluginSecurityReadSafe
GraphicsModeGraphicsModeThe graphics API that Roblox will use on startup.Read: PluginSecurityWrite: PluginSecurityReadSafe
MeshCacheSizeintThe size in bytes of the mesh cache.Read: PluginSecurityWrite: PluginSecurityReadSafe
MeshPartDetailLevelMeshPartDetailLevelStudio only. Used to visually verify the quality of MeshParts at lower level of detail at close range.Read: PluginSecurityWrite: PluginSecurityReadSafe
QualityLevelQualityLevelControls the quality level in Roblox Studio.Read: PluginSecurityWrite: PluginSecurityReadSafe
ReloadAssetsbooleanWhether Roblox Studio will automatically reload changes that are made to files in Roblox's content folder.Read: PluginSecurityWrite: PluginSecurityReadSafe
RenderCSGTrianglesDebugbooleanWhether a wireframe of polygons will be shown on all PartOperation objects.Read: PluginSecurityWrite: PluginSecurityReadSafe
ShowBoundingBoxesbooleanWhether bounding boxes are rendered around each individual rendered entity in the scene.Read: PluginSecurityWrite: PluginSecurityReadSafe
ViewModeViewModeStudio only. Selects a debug rendering visualization overlay for the viewport.Read: PluginSecurityWrite: PluginSecurityReadSafe

AutoFRMLevel: int#

Read: PluginSecurityWrite: PluginSecurityReadSafe

Sets the starting quality level of the framerate manager when EnableFRM is set to true.

EagerBulkExecution: boolean#

Read: PluginSecurityWrite: PluginSecurityReadSafe

When set to true, all scene updates will be given an unlimited budget, regardless of how computationally expensive it may be. This ensures each frame will look as it should, at the cost of a more unstable frame rate.

EditQualityLevel: QualityLevel#

Read: PluginSecurityWrite: PluginSecurityReadSafe

Sets the graphics quality level in Roblox Studio when EnableFRM is set to false.

Enable VR Mode: boolean#

Read: PluginSecurityWrite: PluginSecurityReadSafe

When set to true, virtual reality (VR) mode is enabled. This property reflects the same underlying setting as UserGameSettings.VREnabled, so reading or writing it reads or writes that shared value. Defaults to false.

EnableFRM: boolean#

HiddenNotReplicatedRead: PluginSecurityWrite: PluginSecurityReadSafe

When set to true, the framerate manager (FRM) dynamically adjusts the rendering quality level during gameplay to maintain a stable framerate. When set to false, the quality level is fixed at RenderSettings.EditQualityLevel and no automatic adjustment occurs. Defaults to true.

The AutoFRMLevel property reports the current quality level that the FRM has assigned when this property is enabled.

ExportMergeByMaterial: boolean#

Read: PluginSecurityWrite: PluginSecurityReadSafe

Controls how materials are written during .obj export from Studio. When set to true, parts that share the same material appearance are merged into shared material definitions in the exported .obj file, reducing material count. When set to false, each part receives its own independent material definition. Defaults to false.

FrameRateManager: FramerateManagerMode#

Read: PluginSecurityWrite: PluginSecurityReadSafe

Determines how the framerate manager (FRM) manages rendering quality using a FramerateManagerMode value. When set to FramerateManagerMode.Automatic, the engine decides whether to enable FRM quality adjustment based on context (typically enabled during gameplay). When set to FramerateManagerMode.On, the FRM is always active. When set to FramerateManagerMode.Off, the FRM does not adjust quality and block culling is forced to the lowest-quality distance setting. Defaults to FramerateManagerMode.Automatic.

GraphicsMode: GraphicsMode#

Read: PluginSecurityWrite: PluginSecurityReadSafe

Determines which graphics rendering API Roblox uses on startup, specified as a GraphicsMode value. When set to GraphicsMode.Automatic, the engine selects the best available backend for the current platform. Available options are platform-dependent; for example, GraphicsMode.Metal is only available on macOS and GraphicsMode.Direct3D11 is only available on Windows. If an unsupported mode is selected, the engine silently falls back to GraphicsMode.Automatic. Defaults to GraphicsMode.Automatic.

Because the graphics API is initialized at startup, changing this property only takes effect after restarting Roblox Studio.

MeshCacheSize: int#

Read: PluginSecurityWrite: PluginSecurityReadSafe

The size in bytes of the mesh cache. Defaults to 32 MiB.

MeshPartDetailLevel: MeshPartDetailLevel#

Read: PluginSecurityWrite: PluginSecurityReadSafe

Determines the mode for the selection of detail levels for mesh parts. For a good balance between performance and fidelity, this should be set to MeshPartDetailLevel.DistanceBased (default), which is what the client uses.

Note that the MeshPart.RenderFidelity needs to be set to RenderFidelity.Automatic for this to work. If you set it to RenderFidelity.Precise, you will always see the higher resolution version and the MeshPartDetailLevel value will be ignored for that MeshPart.

QualityLevel: QualityLevel#

Read: PluginSecurityWrite: PluginSecurityReadSafe

If EnableFRM is set to true, this property controls the quality level in Roblox Studio.

ReloadAssets: boolean#

Read: PluginSecurityWrite: PluginSecurityReadSafe

When set to true, Roblox Studio will automatically reload changes that are made to files in Roblox's content folder.

RenderCSGTrianglesDebug: boolean#

Read: PluginSecurityWrite: PluginSecurityReadSafe

When set to true, a wireframe of polygons will be shown on all PartOperation objects.

ShowBoundingBoxes: boolean#

Read: PluginSecurityWrite: PluginSecurityReadSafe

If set to true, renders bounding boxes around each individual rendered entity in the scene.

ViewMode: ViewMode#

Read: PluginSecurityWrite: PluginSecurityReadSafe

Studio only. Determines which debug rendering visualization is drawn over the viewport, using a value of ViewMode. Defaults to ViewMode.None, which disables the overlay. Other values enable overdraw visualizations for geometry complexity, transparency, or decals.

Methods 1#

GetMaxQualityLevelReturns the maximum quality level.PluginSecurity security

GetMaxQualityLevel(): int#

PluginSecurity security

Returns the total number of quality levels available in the rendering quality system. Quality levels are numbered from QualityLevel.Automatic (0) through QualityLevel.Level21 (21), so this method returns 22. Use GetMaxQualityLevel() - 1 to obtain the highest numeric quality level.

Returns
  • int — The total number of quality levels available in the rendering system.

Inherited members#

Inherited from Instance 58
Inherited from Object 6
Properties (2)

ClassName, className

Events (1)

Changed