Roblox UtilitiesDevlHub Roblox Documentation

Class

PhysicsSettings

NotCreatableServiceNotReplicated
Inherits
Instance › Object
Memory category
Instances

Lets you view debugging features in Roblox's physics engine, found under the Physics tab in Studio's settings menu.

The PhysicsSettings is a singleton class, which lets you view debugging features in Roblox's physics engine. You can find it under the Physics tab in Studio's settings menu.

Properties 48#

AllowSleepbooleanWhen set to true, physically simulated objects will stop being simulated if they have little to no motion for a set period of time.Read: PluginSecurityWrite: PluginSecurityReadSafe
AreAnchorsShownbooleanWhen set to true, parts that are BasePart.Anchored will show a gray surface outline on the surface of the part's bounding box that is currently facing the ground.Read: PluginSecurityWrite: PluginSecurityReadSafe
AreAssembliesShownbooleanWhen set to true, each physics assembly is assigned a unique color and the Part associated with the assembly are outlined with the color. Parts that are attached together by JointInstance will share the same color.Read: PluginSecurityWrite: PluginSecurityReadSafe
AreAssemblyCentersOfMassShownbooleanWhen set to true, shows the center of mass for each physics assembly.Read: RobloxScriptSecurityWrite: RobloxScriptSecurityReadSafe
AreAwakePartsHighlightedbooleanWhen set to true, parts that are actively being physically simulated will have a red outline.Read: PluginSecurityWrite: PluginSecurityReadSafe
AreBodyTypesShownbooleanWhen set to true, Part will be outlined with a specific color, depending on the state of its root simulation body.Read: PluginSecurityWrite: PluginSecurityReadSafe
AreCollisionCostsShownbooleanWhen set to true, displays collision cost annotations for parts.Read: RobloxScriptSecurityWrite: RobloxScriptSecurityReadSafe
AreConstraintForcesShownForSelectedOrHoveredInstancesbooleanWhen set to true, draws force vectors for constraints on selected or hovered instances.Read: RobloxScriptSecurityWrite: RobloxScriptSecurityReadSafe
AreConstraintTorquesShownForSelectedOrHoveredInstancesbooleanWhen set to true, draws torque vectors for constraints on selected or hovered instances.Read: RobloxScriptSecurityWrite: RobloxScriptSecurityReadSafe
AreContactForcesShownForSelectedOrHoveredAssembliesbooleanWhen set to true, draws contact force vectors for selected or hovered assemblies.Read: RobloxScriptSecurityWrite: RobloxScriptSecurityReadSafe
AreContactIslandsShownbooleanWhen set to true, each contact island will render SelectionBox adorns on the parts in contact islands, where each contact island is assigned a random color.Read: PluginSecurityWrite: PluginSecurityReadSafe
AreContactPointsShownbooleanWhen set to true, sphere adorns will be drawn at the contact points of each part where physics interactions are occurring.Read: PluginSecurityWrite: PluginSecurityReadSafe
AreGravityForcesShownForSelectedOrHoveredAssembliesbooleanWhen set to true, draws gravity force vectors for selected or hovered assemblies.Read: RobloxScriptSecurityWrite: RobloxScriptSecurityReadSafe
AreJointCoordinatesShownbooleanWhen set to true, XYZ axes are rendered at the BasePart.CFrame of every part.Read: PluginSecurityWrite: PluginSecurityReadSafe
AreMagnitudesShownForDrawnForcesAndTorquesbooleanWhen set to true, displays magnitude labels alongside drawn force and torque vectors.Read: RobloxScriptSecurityWrite: RobloxScriptSecurityReadSafe
AreMechanismsShownbooleanWhen set to true, every individual mechanism of parts is given a unique color.Read: PluginSecurityWrite: PluginSecurityReadSafe
AreModelCoordsShownbooleanAn ancient property that hasn't work correctly since late 2007. It's supposed to render an XYZ axis on the root part of a Model, but the axis rendering component doesn't work correctly.Read: PluginSecurityWrite: PluginSecurityReadSafe
AreNonAnchorsShownbooleanWhen set to true, parts that are not BasePart.Anchored will be highlighted.Read: PluginSecurityWrite: PluginSecurityReadSafe
AreOwnersShownbooleanWhen set to true, each player's character is outlined with a unique color, and each part that the player has network ownership over is outlined with the same color.Read: PluginSecurityWrite: PluginSecurityReadSafe
ArePartCoordsShownbooleanAn ancient property that hasn't worked correctly since late 2007. It's supposed to render a large XYZ axis in the center of each BasePart, but the axis rendering component doesn't work correctly.Read: PluginSecurityWrite: PluginSecurityReadSafe
AreRegionsShownbooleanWhen set to true, a cylinder is drawn around each player's character, representing their Player.SimulationRadius.Read: PluginSecurityWrite: PluginSecurityReadSafe
AreSolverIslandsShownbooleanWhen set to true, each solver island is highlighted with a unique color.Read: RobloxScriptSecurityWrite: RobloxScriptSecurityReadSafe
AreTerrainReplicationRegionsShownbooleanWhen set to true, shows terrain replication streaming regions.Read: PluginSecurityWrite: PluginSecurityReadSafe
AreTimestepsShownbooleanWhen set to true, shows physics timestep information for assemblies.Read: RobloxScriptSecurityWrite: RobloxScriptSecurityReadSafe
AreUnalignedPartsShownbooleanWhen set to true, parts that aren't aligned on the 1x1x1 grid will be outlined yellow.Read: PluginSecurityWrite: PluginSecurityReadSafe
AreWorldCoordsShownbooleanAn ancient property that hasn't worked correctly since late 2007. It's supposed to render a large XYZ axis in the center of the world, but the axis rendering component doesn't work correctly.Read: PluginSecurityWrite: PluginSecurityReadSafe
DisableCSGv2booleanWhen set to true, Roblox will fall back to using its legacy CSG solver when performing solid model operations.Read: PluginSecurityWrite: PluginSecurityReadSafe
DisableCSGv3ForPluginsbooleanWhen set to true, disables CSGv3 for plugin solid modeling operations.Read: PluginSecurityWrite: PluginSecurityReadSafe
DrawConstraintsNetForcebooleanWhen set to true, draws the net force from all constraints on selected or hovered assemblies.Read: RobloxScriptSecurityWrite: RobloxScriptSecurityReadSafe
DrawContactsNetForcebooleanWhen set to true, draws the net force from all contacts on selected or hovered assemblies.Read: RobloxScriptSecurityWrite: RobloxScriptSecurityReadSafe
DrawTotalNetForcebooleanWhen set to true, draws the total net force on selected or hovered assemblies.Read: RobloxScriptSecurityWrite: RobloxScriptSecurityReadSafe
EnableForceVisualizationSmoothingbooleanWhen set to true, enables temporal smoothing for force and torque visualizations.Read: RobloxScriptSecurityWrite: RobloxScriptSecurityReadSafe
FluidForceDrawScalefloatSets the scale of arrows drawn for aerodynamic force visualization.Read: RobloxScriptSecurityWrite: RobloxScriptSecurityReadSafe
ForceCSGv2booleanWhen set to true, forces the use of CSGv2 for solid modeling operations.Read: PluginSecurityWrite: PluginSecurityReadSafeHiddenNotReplicated
ForceDrawScalefloatSets the scale of arrows drawn for force visualization.Read: RobloxScriptSecurityWrite: RobloxScriptSecurityReadSafe
ForceVisualizationSmoothingStepsintControls the number of frames used for force visualization smoothing.Read: RobloxScriptSecurityWrite: RobloxScriptSecurityReadSafe
IsInterpolationThrottleShownbooleanWhen set to true, shows physics interpolation throttle information.Read: PluginSecurityWrite: PluginSecurityReadSafe
IsReceiveAgeShownbooleanThis property is supposed to show the BasePart.ReceiveAge of a part, but it does not work correctly.Read: PluginSecurityWrite: PluginSecurityReadSafe
IsTreeShownbooleanWhen set to true, the joint connections of each part, and the states of their underlying primitive components are visualized as a spanning tree.Read: PluginSecurityWrite: PluginSecurityReadSafe
PhysicsEnvironmentalThrottleEnviromentalPhysicsThrottleControls the throttle rate of Roblox's physics engine.Read: PluginSecurityWrite: PluginSecurityReadSafe
ShowDecompositionGeometrybooleanWhen set to true, the underlying collision geometry for PartOperation and MeshPart is rendered.Read: PluginSecurityWrite: PluginSecurityReadSafe
ShowFluidForcesForSelectedOrHoveredMechanismsbooleanWhen set to true, enables aerodynamic visualization for selected or hovered mechanisms in Studio's play and run modes.Read: RobloxScriptSecurityWrite: RobloxScriptSecurityReadSafe
ShowInstanceNamesForDrawnForcesAndTorquesbooleanWhen set to true, displays instance names alongside drawn force and torque vectors.Read: RobloxScriptSecurityWrite: RobloxScriptSecurityReadSafe
SolverConvergenceMetricTypeSolverConvergenceMetricTypeControls which metric is used for solver convergence visualization.Read: RobloxScriptSecurityWrite: RobloxScriptSecurityReadSafe
SolverConvergenceVisualizationModeSolverConvergenceVisualizationModeControls the visualization mode for solver convergence.Read: RobloxScriptSecurityWrite: RobloxScriptSecurityReadSafe
ThrottleAdjustTimedoubleIf the PhysicsSettings.PhysicsEnvironmentalThrottle is set to DefaultAuto, this specifies the maximum time that the physics environmental throttle has to wait before it is allowed to automatically change.Read: PluginSecurityWrite: PluginSecurityReadSafe
TorqueDrawScalefloatSets the scale of arrows drawn for torque visualization.Read: RobloxScriptSecurityWrite: RobloxScriptSecurityReadSafe
UseCSGv2booleanIf set to true, version 2 of Roblox's CSG solver will be used instead of version 1.Read: PluginSecurityWrite: PluginSecurityReadSafe

AllowSleep: boolean#

Read: PluginSecurityWrite: PluginSecurityReadSafe

When set to true, physically simulated objects will stop being simulated if they have little to no motion for a set period of time.

AreAnchorsShown: boolean#

Read: PluginSecurityWrite: PluginSecurityReadSafe

When set to true, parts that are BasePart.Anchored will show a gray surface outline on the surface of the part's bounding box that is currently facing the ground.

AreAssembliesShown: boolean#

Read: PluginSecurityWrite: PluginSecurityReadSafe

When set to true, each physics assembly is assigned a unique color and the Part associated with the assembly are outlined with the color. Parts that are attached together by JointInstance will share the same color.

AreAssemblyCentersOfMassShown: boolean#

Read: RobloxScriptSecurityWrite: RobloxScriptSecurityReadSafe

When set to true, shows the center of mass for each physics assembly. This property must be set in the Physics tab of Studio's settings menu.

AreAwakePartsHighlighted: boolean#

Read: PluginSecurityWrite: PluginSecurityReadSafe

When set to true, parts that are actively being physically simulated will have a red outline.

AreBodyTypesShown: boolean#

Read: PluginSecurityWrite: PluginSecurityReadSafe

When set to true, Part will be outlined with a specific color, depending on the state of its root simulation body.

Body Types#

Color Body Type Description
Real-Time Body Physics Body that is always simulated in real time, and is never throttled. Used for Humanoids.
Free-Fall Body Physics Body that is freely moving with no physical contact.
Joint Body Physics Body that is being influenced by a physically simulated joint, such as a Motor or a Hinge.
Contact Body Physics Body that is in contact with another physics body.
Symmetric Contact Body Physics Body that is experiencing a torquing force, while in contact with another body.
Vertical Contact Body Physics Body that is moving very little along the Y plane, while in contact with another body.

AreCollisionCostsShown: boolean#

Read: RobloxScriptSecurityWrite: RobloxScriptSecurityReadSafe

When set to true, displays collision cost annotations for parts. This property is not scriptable.

AreConstraintForcesShownForSelectedOrHoveredInstances: boolean#

Read: RobloxScriptSecurityWrite: RobloxScriptSecurityReadSafe

When set to true, draws force vectors for constraints on selected or hovered instances. This property must be set in the Physics tab of Studio's settings menu.

AreConstraintTorquesShownForSelectedOrHoveredInstances: boolean#

Read: RobloxScriptSecurityWrite: RobloxScriptSecurityReadSafe

When set to true, draws torque vectors for constraints on selected or hovered instances. This property must be set in the Physics tab of Studio's settings menu.

AreContactForcesShownForSelectedOrHoveredAssemblies: boolean#

Read: RobloxScriptSecurityWrite: RobloxScriptSecurityReadSafe

When set to true, draws contact force vectors for selected or hovered assemblies. This property must be set in the Physics tab of Studio's settings menu.

AreContactIslandsShown: boolean#

Read: PluginSecurityWrite: PluginSecurityReadSafe

When set to true, each contact island will render SelectionBox adorns on the parts in contact islands, where each contact island is assigned a random color.

AreContactPointsShown: boolean#

Read: PluginSecurityWrite: PluginSecurityReadSafe

When set to true, sphere adorns will be drawn at the contact points of each part where physics interactions are occurring. Each sphere also has an arrow drawn in 3D, facing the surface that the contact point is detecting.

Solver Variations#

The behavior of this property varies depending on whether Roblox's physics engine is using the PGS Physics Solver, or the Spring Physics Solver.

This is controlled by the Workspace.PGSPhysicsSolverEnabled property.

Spring Physics Solver#

When Workspace.PGSPhysicsSolverEnabled is set to false, the contact points are color coded as listed below. The length of the arrow extruding from the sphere depends on how much force the contact point is exerting, and what the contact type is.

Color Contact Type Description
Normal Contact Contact point with no special conditions.
Resting Contact Contact point that has been active for at least 4 frames.
Second Pass Contact Contact point that was made by a kernel joint going through a second pass. Rarely seen.
Real-Time Contact Contact point that was made with a real-time physics body. This applies to tripped Class.Humanoid.
Joint Contact Contact point that was made under the context of a physically simulated joint. This applies to Motors and Hinges.
PGS Physics Solver

When Workspace.PGSPhysicsSolverEnabled is set to true, the contact points are always colored RED, and the length of the arrow will always be 1 stud. There are no special conditions tracked, because the PGS solver does not keep specific lookup tables for the states listed in the Spring Solver.

Color Contact Type Description
Normal Contact Contact point with no special conditions.

AreGravityForcesShownForSelectedOrHoveredAssemblies: boolean#

Read: RobloxScriptSecurityWrite: RobloxScriptSecurityReadSafe

When set to true, draws gravity force vectors for selected or hovered assemblies. This property must be set in the Physics tab of Studio's settings menu.

AreJointCoordinatesShown: boolean#

Read: PluginSecurityWrite: PluginSecurityReadSafe

When set to true, XYZ axes are rendered at the BasePart.CFrame of every part.

AreMagnitudesShownForDrawnForcesAndTorques: boolean#

Read: RobloxScriptSecurityWrite: RobloxScriptSecurityReadSafe

When set to true, displays magnitude labels alongside drawn force and torque vectors. This property must be set in the Physics tab of Studio's settings menu.

AreMechanismsShown: boolean#

Read: PluginSecurityWrite: PluginSecurityReadSafe

When set to true, every individual mechanism of parts is given a unique color.

AreModelCoordsShown: boolean#

Read: PluginSecurityWrite: PluginSecurityReadSafe

An ancient property that hasn't work correctly since late 2007. It's supposed to render an XYZ axis on the root part of a Model, but the axis rendering component doesn't work correctly.

AreNonAnchorsShown: boolean#

Read: PluginSecurityWrite: PluginSecurityReadSafe

When set to true, parts that are not BasePart.Anchored will be highlighted. This property must be set in the Physics tab of Studio's settings menu.

AreOwnersShown: boolean#

Read: PluginSecurityWrite: PluginSecurityReadSafe

When set to true, each player's character is outlined with a unique color, and each part that the player has network ownership over is outlined with the same color.

ArePartCoordsShown: boolean#

Read: PluginSecurityWrite: PluginSecurityReadSafe

An ancient property that hasn't worked correctly since late 2007. It's supposed to render a large XYZ axis in the center of each BasePart, but the axis rendering component doesn't work correctly.

AreRegionsShown: boolean#

Read: PluginSecurityWrite: PluginSecurityReadSafe

When set to true, a cylinder is drawn around each player's character, representing their Player.SimulationRadius. Each physically simulated object will check to see which player is closest to that object, and if they are within the player's simulation radius. If both conditions are met, that player will becomes the network owner of that object.

AreSolverIslandsShown: boolean#

Read: RobloxScriptSecurityWrite: RobloxScriptSecurityReadSafe

When set to true, each solver island is highlighted with a unique color. This property must be set in the Physics tab of Studio's settings menu.

AreTerrainReplicationRegionsShown: boolean#

Read: PluginSecurityWrite: PluginSecurityReadSafe

When set to true, shows terrain replication streaming regions. This property is not scriptable.

AreTimestepsShown: boolean#

Read: RobloxScriptSecurityWrite: RobloxScriptSecurityReadSafe

When set to true, shows physics timestep information for assemblies. This property is not scriptable.

AreUnalignedPartsShown: boolean#

Read: PluginSecurityWrite: PluginSecurityReadSafe

When set to true, parts that aren't aligned on the 1x1x1 grid will be outlined yellow.

AreWorldCoordsShown: boolean#

Read: PluginSecurityWrite: PluginSecurityReadSafe

An ancient property that hasn't worked correctly since late 2007. It's supposed to render a large XYZ axis in the center of the world, but the axis rendering component doesn't work correctly.

DisableCSGv2: boolean#

Read: PluginSecurityWrite: PluginSecurityReadSafe

When set to true, Roblox will fall back to using its legacy CSG solver when performing solid model operations.

DisableCSGv3ForPlugins: boolean#

Read: PluginSecurityWrite: PluginSecurityReadSafe

When set to true, disables CSGv3 for plugin solid modeling operations. This property must be set in the Physics tab of Studio's settings menu.

DrawConstraintsNetForce: boolean#

Read: RobloxScriptSecurityWrite: RobloxScriptSecurityReadSafe

When set to true, draws the net force from all constraints on selected or hovered assemblies. This property must be set in the Physics tab of Studio's settings menu.

DrawContactsNetForce: boolean#

Read: RobloxScriptSecurityWrite: RobloxScriptSecurityReadSafe

When set to true, draws the net force from all contacts on selected or hovered assemblies. This property must be set in the Physics tab of Studio's settings menu.

DrawTotalNetForce: boolean#

Read: RobloxScriptSecurityWrite: RobloxScriptSecurityReadSafe

When set to true, draws the total net force on selected or hovered assemblies. This property must be set in the Physics tab of Studio's settings menu.

EnableForceVisualizationSmoothing: boolean#

Read: RobloxScriptSecurityWrite: RobloxScriptSecurityReadSafe

When set to true, enables temporal smoothing for force and torque visualizations. This property must be set in the Physics tab of Studio's settings menu.

FluidForceDrawScale: float#

Read: RobloxScriptSecurityWrite: RobloxScriptSecurityReadSafe

Sets the scale of arrows drawn for aerodynamic force visualization. The default value is 1.0; smaller values draw smaller arrows and vice versa. The default value is a good starting point for a wide range of aerodynamic mechanisms.

ForceCSGv2: boolean#

HiddenNotReplicatedRead: PluginSecurityWrite: PluginSecurityReadSafe

When set to true, forces the use of CSGv2 for solid modeling operations. This property must be set in the Physics tab of Studio's settings menu.

ForceDrawScale: float#

Read: RobloxScriptSecurityWrite: RobloxScriptSecurityReadSafe

Sets the scale of arrows drawn for force visualization. This property is not scriptable.

ForceVisualizationSmoothingSteps: int#

Read: RobloxScriptSecurityWrite: RobloxScriptSecurityReadSafe

Controls the number of frames used for force visualization smoothing. This property must be set in the Physics tab of Studio's settings menu.

IsInterpolationThrottleShown: boolean#

Read: PluginSecurityWrite: PluginSecurityReadSafe

When set to true, shows physics interpolation throttle information. This property is not scriptable.

IsReceiveAgeShown: boolean#

Read: PluginSecurityWrite: PluginSecurityReadSafe

This property is supposed to show the BasePart.ReceiveAge of a part, but it does not work correctly.

IsTreeShown: boolean#

Read: PluginSecurityWrite: PluginSecurityReadSafe

When set to true, the joint connections of each part, and the states of their underlying primitive components are visualized as a spanning tree.

Spanning Tree Table#

There are several visualizations made available when this property is set to true:

Color Adorn Type Description
Box Root Primitive of a Mechanism that is currently anchored, or connected to an anchored primitive. See Class.BasePart:IsGrounded().
Box Root Primitive of a Mechanism that is free to be physically simulated.
Box Root Primitive of a Mechanism that has moving components.
Sphere Root Primitive of an Assembly.
Line Connection between two Primitives that share the same Assembly.
Line Connection between two Primitives.

PhysicsEnvironmentalThrottle: EnviromentalPhysicsThrottle#

Read: PluginSecurityWrite: PluginSecurityReadSafe

Controls the throttle rate of Roblox's physics engine. By default, the physics engine will adjust the physics environment throttle depending on how much work the physics engine is doing, and the current framerate. See the enum page for EnviromentalPhysicsThrottle for more information.

ShowDecompositionGeometry: boolean#

Read: PluginSecurityWrite: PluginSecurityReadSafe

When set to true, the underlying collision geometry for PartOperation and MeshPart is rendered.

ShowFluidForcesForSelectedOrHoveredMechanisms: boolean#

Read: RobloxScriptSecurityWrite: RobloxScriptSecurityReadSafe

When set to true, enables aerodynamic visualization for selected or hovered mechanisms in Studio's play and run modes. This visualization shows aerodynamic force, torque, and center of pressure for the hovered or selected mechanisms.

ShowInstanceNamesForDrawnForcesAndTorques: boolean#

Read: RobloxScriptSecurityWrite: RobloxScriptSecurityReadSafe

When set to true, displays instance names alongside drawn force and torque vectors. This property must be set in the Physics tab of Studio's settings menu.

SolverConvergenceMetricType: SolverConvergenceMetricType#

Read: RobloxScriptSecurityWrite: RobloxScriptSecurityReadSafe

Controls which metric is used for solver convergence visualization. This property is not scriptable.

SolverConvergenceVisualizationMode: SolverConvergenceVisualizationMode#

Read: RobloxScriptSecurityWrite: RobloxScriptSecurityReadSafe

Controls the visualization mode for solver convergence. This property is not scriptable.

ThrottleAdjustTime: double#

Read: PluginSecurityWrite: PluginSecurityReadSafe

If the PhysicsSettings.PhysicsEnvironmentalThrottle is set to DefaultAuto, this specifies the maximum time that the physics environmental throttle has to wait before it is allowed to automatically change.

TorqueDrawScale: float#

Read: RobloxScriptSecurityWrite: RobloxScriptSecurityReadSafe

Sets the scale of arrows drawn for torque visualization. This property is not scriptable.

UseCSGv2: boolean#

Read: PluginSecurityWrite: PluginSecurityReadSafe

If set to true, version 2 of Roblox's CSG solver will be used instead of version 1.

Inherited members#

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

ClassName, className

Events (1)

Changed