Reference API Roblox

Engine API

Website

Related

Reference API Roblox

PhysicsSettings

This class is not creatable. Instances of this class cannot be created with Instance.new.
This class is a settings container. It contains settings that affect the behavior of the peer.
Tags: [NotCreatable, Settings]

Member index 48

HistoryMember
553AllowSleep: bool
553AreAnchorsShown: bool
553AreAssembliesShown: bool
588AreAssemblyCentersOfMassShown: bool
553AreAwakePartsHighlighted: bool
553AreBodyTypesShown: bool
581AreCollisionCostsShown: bool
569AreConstraintForcesShownForSelectedOrHoveredInstances: bool
569AreConstraintTorquesShownForSelectedOrHoveredInstances: bool
569AreContactForcesShownForSelectedOrHoveredAssemblies: bool
553AreContactIslandsShown: bool
553AreContactPointsShown: bool
605AreGravityForcesShownForSelectedOrHoveredAssemblies: bool
553AreJointCoordinatesShown: bool
569AreMagnitudesShownForDrawnForcesAndTorques: bool
553AreMechanismsShown: bool
553AreModelCoordsShown: bool
594AreNonAnchorsShown: bool
553AreOwnersShown: bool
553ArePartCoordsShown: bool
553AreRegionsShown: bool
568AreSolverIslandsShown: bool
553AreTerrainReplicationRegionsShown: bool
553AreTimestepsShown: bool
553AreUnalignedPartsShown: bool
553AreWorldCoordsShown: bool
553DisableCSGv2: bool
587DisableCSGv3ForPlugins: bool
612DrawConstraintsNetForce: bool
612DrawContactsNetForce: bool
612DrawTotalNetForce: bool
612EnableForceVisualizationSmoothing: bool
595FluidForceDrawScale: float
569ForceDrawScale: float
612ForceVisualizationSmoothingSteps: int
553IsInterpolationThrottleShown: bool
553IsReceiveAgeShown: bool
553IsTreeShown: bool
553PhysicsEnvironmentalThrottle: EnviromentalPhysicsThrottle
553ShowDecompositionGeometry: bool
600ShowFluidForcesForSelectedOrHoveredMechanisms: bool
618ShowInstanceNamesForDrawnForcesAndTorques: bool
591SolverConvergenceMetricType: SolverConvergenceMetricType
568SolverConvergenceVisualizationMode: SolverConvergenceVisualizationMode
553ThrottleAdjustTime: double
611TorqueDrawScale: float
553UseCSGv2: bool
inherited from Instance
553Archivable: bool
635Capabilities: SecurityCapabilities
553Name: string
553Parent: Instance
635Sandboxed: bool
616UniqueId: 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
486GetDescendants(): Array
486GetFullName(): string
641GetStyled(name: string): Variant
576GetTags(): Array
576HasTag(tag: string): bool
486IsAncestorOf(descendant: Instance): bool
486IsDescendantOf(ancestor: Instance): bool
580IsPropertyModified(name: string): bool
573Remove(): null
576RemoveTag(tag: string): null
580ResetPropertyToDefault(name: 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()
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 9

HistoryMember
268AreAttachmentsShown: bool
268AreConstraintsShown: bool
93FreeFallSolver: bool
93ImpulseSolverForContacts: bool
48Is30FpsThrottleEnabled: bool
341ParallelPhysics: bool
369PhysicsAnalyzerEnabled: bool
600ShowFluidForcesForSelectedOrHoveredAssemblies: bool
73WaterViscosity: float

Description

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.

History 152

Members 48

AllowSleep

TypeDefault
bool

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

History 4

AreAnchorsShown

TypeDefault
bool

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.

History 4

AreAssembliesShown

TypeDefault
bool

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.

History 4

AreAssemblyCentersOfMassShown

TypeDefault
bool

History 1

AreAwakePartsHighlighted

TypeDefault
bool

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

History 4

AreBodyTypesShown

TypeDefault
bool

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

Body Types

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

History 4

AreCollisionCostsShown

TypeDefault
bool

History 1

AreConstraintForcesShownForSelectedOrHoveredInstances

TypeDefault
bool

History 1

AreConstraintTorquesShownForSelectedOrHoveredInstances

TypeDefault
bool

History 1

AreContactForcesShownForSelectedOrHoveredAssemblies

TypeDefault
bool

History 1

AreContactIslandsShown

TypeDefault
bool

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.

History 4

AreContactPointsShown

TypeDefault
bool

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.

ColorContact TypeDescription
Normal ContactContact point with no special conditions.
Resting ContactContact point that has been active for at least 4 frames.
Second Pass ContactContact point that was made by a kernel joint going through a second pass. Rarely seen.
Real Time ContactContact point that was made with a real-time physics body. This applies to tripped Humanoid.
Joint ContactContact 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.

ColorContact TypeDescription
Normal ContactContact point with no special conditions.

History 4

AreGravityForcesShownForSelectedOrHoveredAssemblies

TypeDefault
bool

History 1

AreJointCoordinatesShown

TypeDefault
bool

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

History 4

AreMagnitudesShownForDrawnForcesAndTorques

TypeDefault
bool

History 1

AreMechanismsShown

TypeDefault
bool

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

History 4

AreModelCoordsShown

TypeDefault
bool

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.

History 4

AreNonAnchorsShown

TypeDefault
bool

History 1

AreOwnersShown

TypeDefault
bool

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.

History 4

ArePartCoordsShown

TypeDefault
bool

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.

History 4

AreRegionsShown

TypeDefault
bool

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.

History 4

AreSolverIslandsShown

TypeDefault
bool

History 1

AreTerrainReplicationRegionsShown

TypeDefault
bool

History 6

AreTimestepsShown

TypeDefault
bool

History 3

AreUnalignedPartsShown

TypeDefault
bool

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

History 4

AreWorldCoordsShown

TypeDefault
bool

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.

History 4

DisableCSGv2

TypeDefault
bool

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

History 4

DisableCSGv3ForPlugins

TypeDefault
bool

History 1

DrawConstraintsNetForce

TypeDefault
bool

History 1

DrawContactsNetForce

TypeDefault
bool

History 1

DrawTotalNetForce

TypeDefault
bool

History 1

EnableForceVisualizationSmoothing

TypeDefault
bool

History 1

FluidForceDrawScale

TypeDefault
float

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.

History 1

ForceDrawScale

TypeDefault
float

History 1

ForceVisualizationSmoothingSteps

TypeDefault
int

History 1

IsInterpolationThrottleShown

TypeDefault
bool

History 6

IsReceiveAgeShown

TypeDefault
bool

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

History 4

IsTreeShown

TypeDefault
bool

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:

ColorAdorn TypeDescription
BoxRoot Primitive of a Mechanism that is currently anchored, or connected to an anchored primitive. See BasePart:IsGrounded().
BoxRoot Primitive of a Mechanism that is free to be physically simulated.
BoxRoot Primitive of a Mechanism that has moving components.
SphereRoot Primitive of an Assembly.
CylinderRoot Primitive of a Clump.
LineConnection between two Primitives that share the same Assembly and Clump.
LineConnection between two Primitives that share the same Assembly.
LineConnection between two Primitives.

History 4

PhysicsEnvironmentalThrottle

TypeDefault
EnviromentalPhysicsThrottle

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.

History 4

ShowDecompositionGeometry

TypeDefault
bool

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

History 4

ShowFluidForcesForSelectedOrHoveredMechanisms

TypeDefault
bool

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.

History 1

ShowInstanceNamesForDrawnForcesAndTorques

TypeDefault
bool

History 1

SolverConvergenceMetricType

TypeDefault
SolverConvergenceMetricType

History 1

SolverConvergenceVisualizationMode

TypeDefault
SolverConvergenceVisualizationMode

History 1

ThrottleAdjustTime

TypeDefault
double

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.

History 4

TorqueDrawScale

TypeDefault
float

History 1

UseCSGv2

TypeDefault
bool

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

History 6

Removed members 9

AreAttachmentsShown

TypeDefault
bool

History 2

AreConstraintsShown

TypeDefault
bool

History 2

FreeFallSolver

TypeDefault
bool

History 2

ImpulseSolverForContacts

TypeDefault
bool

History 2

Is30FpsThrottleEnabled

TypeDefault
bool

History 2

ParallelPhysics

TypeDefault
bool

History 2

PhysicsAnalyzerEnabled

TypeDefault
bool
This property is not replicated. Its interface does not cross the network boundary.
This property is read-only. Its value can be read, but it cannot be modified.

History 2

Tags: [ReadOnly, NotReplicated]

ShowFluidForcesForSelectedOrHoveredAssemblies

TypeDefault
bool

History 2

WaterViscosity

TypeDefault
float

History 2

Settings