Class
PhysicsSettings
NotCreatableServiceNotReplicated
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#
AllowSleepboolean | When 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 |
AreAnchorsShownboolean | 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.Read: PluginSecurityWrite: PluginSecurityReadSafe |
AreAssembliesShownboolean | 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.Read: PluginSecurityWrite: PluginSecurityReadSafe |
AreAssemblyCentersOfMassShownboolean | When set to true, shows the center of mass for each physics assembly.Read: RobloxScriptSecurityWrite: RobloxScriptSecurityReadSafe |
AreAwakePartsHighlightedboolean | When set to true, parts that are actively being physically simulated will have a red outline.Read: PluginSecurityWrite: PluginSecurityReadSafe |
AreBodyTypesShownboolean | When set to true, Part will be outlined with a specific color,
depending on the state of its root simulation body.Read: PluginSecurityWrite: PluginSecurityReadSafe |
AreCollisionCostsShownboolean | When set to true, displays collision cost annotations for parts.Read: RobloxScriptSecurityWrite: RobloxScriptSecurityReadSafe |
AreConstraintForcesShownForSelectedOrHoveredInstancesboolean | When set to true, draws force vectors for constraints on selected or hovered instances.Read: RobloxScriptSecurityWrite: RobloxScriptSecurityReadSafe |
AreConstraintTorquesShownForSelectedOrHoveredInstancesboolean | When set to true, draws torque vectors for constraints on selected or hovered instances.Read: RobloxScriptSecurityWrite: RobloxScriptSecurityReadSafe |
AreContactForcesShownForSelectedOrHoveredAssembliesboolean | When set to true, draws contact force vectors for selected or hovered assemblies.Read: RobloxScriptSecurityWrite: RobloxScriptSecurityReadSafe |
AreContactIslandsShownboolean | 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.Read: PluginSecurityWrite: PluginSecurityReadSafe |
AreContactPointsShownboolean | When set to true, sphere adorns will be drawn at the contact points of each part where physics interactions are occurring.Read: PluginSecurityWrite: PluginSecurityReadSafe |
AreGravityForcesShownForSelectedOrHoveredAssembliesboolean | When set to true, draws gravity force vectors for selected or hovered assemblies.Read: RobloxScriptSecurityWrite: RobloxScriptSecurityReadSafe |
AreJointCoordinatesShownboolean | When set to true, XYZ axes are rendered at the BasePart.CFrame of
every part.Read: PluginSecurityWrite: PluginSecurityReadSafe |
AreMagnitudesShownForDrawnForcesAndTorquesboolean | When set to true, displays magnitude labels alongside drawn force and torque vectors.Read: RobloxScriptSecurityWrite: RobloxScriptSecurityReadSafe |
AreMechanismsShownboolean | When set to true, every individual mechanism of parts is given a unique color.Read: PluginSecurityWrite: PluginSecurityReadSafe |
AreModelCoordsShownboolean | 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.Read: PluginSecurityWrite: PluginSecurityReadSafe |
AreNonAnchorsShownboolean | When set to true, parts that are not BasePart.Anchored will be
highlighted.Read: PluginSecurityWrite: PluginSecurityReadSafe |
AreOwnersShownboolean | 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.Read: PluginSecurityWrite: PluginSecurityReadSafe |
ArePartCoordsShownboolean | 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.Read: PluginSecurityWrite: PluginSecurityReadSafe |
AreRegionsShownboolean | When set to true, a cylinder is drawn around each player's character,
representing their Player.SimulationRadius.Read: PluginSecurityWrite: PluginSecurityReadSafe |
AreSolverIslandsShownboolean | When set to true, each solver island is highlighted with a unique color.Read: RobloxScriptSecurityWrite: RobloxScriptSecurityReadSafe |
AreTerrainReplicationRegionsShownboolean | When set to true, shows terrain replication streaming regions.Read: PluginSecurityWrite: PluginSecurityReadSafe |
AreTimestepsShownboolean | When set to true, shows physics timestep information for assemblies.Read: RobloxScriptSecurityWrite: RobloxScriptSecurityReadSafe |
AreUnalignedPartsShownboolean | When set to true, parts that aren't aligned on the 1x1x1 grid will be outlined yellow.Read: PluginSecurityWrite: PluginSecurityReadSafe |
AreWorldCoordsShownboolean | 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.Read: PluginSecurityWrite: PluginSecurityReadSafe |
DisableCSGv2boolean | When set to true, Roblox will fall back to using its legacy CSG solver when performing solid model operations.Read: PluginSecurityWrite: PluginSecurityReadSafe |
DisableCSGv3ForPluginsboolean | When set to true, disables CSGv3 for plugin solid modeling operations.Read: PluginSecurityWrite: PluginSecurityReadSafe |
DrawConstraintsNetForceboolean | When set to true, draws the net force from all constraints on selected or hovered assemblies.Read: RobloxScriptSecurityWrite: RobloxScriptSecurityReadSafe |
DrawContactsNetForceboolean | When set to true, draws the net force from all contacts on selected or hovered assemblies.Read: RobloxScriptSecurityWrite: RobloxScriptSecurityReadSafe |
DrawTotalNetForceboolean | When set to true, draws the total net force on selected or hovered assemblies.Read: RobloxScriptSecurityWrite: RobloxScriptSecurityReadSafe |
EnableForceVisualizationSmoothingboolean | When set to true, enables temporal smoothing for force and torque visualizations.Read: RobloxScriptSecurityWrite: RobloxScriptSecurityReadSafe |
FluidForceDrawScalefloat | Sets the scale of arrows drawn for aerodynamic force visualization.Read: RobloxScriptSecurityWrite: RobloxScriptSecurityReadSafe |
ForceCSGv2boolean | When set to true, forces the use of CSGv2 for solid modeling operations.Read: PluginSecurityWrite: PluginSecurityReadSafeHiddenNotReplicated |
ForceDrawScalefloat | Sets the scale of arrows drawn for force visualization.Read: RobloxScriptSecurityWrite: RobloxScriptSecurityReadSafe |
ForceVisualizationSmoothingStepsint | Controls the number of frames used for force visualization smoothing.Read: RobloxScriptSecurityWrite: RobloxScriptSecurityReadSafe |
IsInterpolationThrottleShownboolean | When set to true, shows physics interpolation throttle information.Read: PluginSecurityWrite: PluginSecurityReadSafe |
IsReceiveAgeShownboolean | This property is supposed to show the BasePart.ReceiveAge of a
part, but it does not work correctly.Read: PluginSecurityWrite: PluginSecurityReadSafe |
IsTreeShownboolean | When 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 |
PhysicsEnvironmentalThrottleEnviromentalPhysicsThrottle | Controls the throttle rate of Roblox's physics engine.Read: PluginSecurityWrite: PluginSecurityReadSafe |
ShowDecompositionGeometryboolean | When set to true, the underlying collision geometry for
PartOperation and MeshPart is rendered.Read: PluginSecurityWrite: PluginSecurityReadSafe |
ShowFluidForcesForSelectedOrHoveredMechanismsboolean | When set to true, enables aerodynamic visualization for selected or hovered mechanisms in Studio's play and run modes.Read: RobloxScriptSecurityWrite: RobloxScriptSecurityReadSafe |
ShowInstanceNamesForDrawnForcesAndTorquesboolean | When set to true, displays instance names alongside drawn force and torque vectors.Read: RobloxScriptSecurityWrite: RobloxScriptSecurityReadSafe |
SolverConvergenceMetricTypeSolverConvergenceMetricType | Controls which metric is used for solver convergence visualization.Read: RobloxScriptSecurityWrite: RobloxScriptSecurityReadSafe |
SolverConvergenceVisualizationModeSolverConvergenceVisualizationMode | Controls the visualization mode for solver convergence.Read: RobloxScriptSecurityWrite: RobloxScriptSecurityReadSafe |
ThrottleAdjustTimedouble | 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.Read: PluginSecurityWrite: PluginSecurityReadSafe |
TorqueDrawScalefloat | Sets the scale of arrows drawn for torque visualization.Read: RobloxScriptSecurityWrite: RobloxScriptSecurityReadSafe |
UseCSGv2boolean | If 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. |
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
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