BasePart
The abstract base class for in-world objects that physically interact.
Memory category | Instances |
---|
Member index 117
Removed member index 14
History | Member | |
---|---|---|
452 | BodyAngularVelocity: Vector3 | |
452 | BodyCenterOfMass: Vector3 | |
452 | BodyLinearVelocity: Vector3 | |
452 | BodyMass: float | |
452 | LinearVelocity: Vector3 | |
352 | Negate(): Instance | |
352 | Separate(): Objects | |
352 | UnionWith(part: Instance): Instance | |
588 | subtractAsync2_INTERNAL(parts: Objects, collisionfidelity: CollisionFidelity = Default, renderFidelity: RenderFidelity = Automatic): Objects | |
588 | unionAsync2_INTERNAL(parts: Objects, collisionfidelity: CollisionFidelity = Default, renderFidelity: RenderFidelity = Automatic): Objects | |
480 | touched(otherPart: Instance) |
Description
BasePart is an abstract base class for in-world objects that render and are physically simulated while in the Workspace. There are several implementations of BasePart, the most common being Part and MeshPart. Others include WedgePart, SpawnLocation, and the singleton Terrain object. Generally, when documentation refers to a "part," most BasePart implementations will work and not just Part.
For information on how BaseParts are grouped into simulated rigid bodies, see Assemblies.
There are many different objects that interact with BasePart (other than Terrain), including:
- Several BaseParts may be grouped within a Model and moved at the same time using PVInstance:PivotTo(). See Models.
- A Decal applies a stretched image texture to the faces of a BasePart, while a Texture applies a tiled image texture to the faces. See Textures and Decals.
- A SurfaceGui renders GuiObjects on the face of a part. See In-Experience UI Containers.
- Attachments can be added to a BasePart to specify CFrames relative to the part. These are often used by physical Constraint objects as outlined in Mechanical Constraints and Mover Constraints.
- ParticleEmitter objects emit particles uniformly in the volume of the BasePart to which they are parented. See Particle Emitters.
- Light objects like PointLight emit light from the center of a BasePart as illustrated in Light Sources.
- If parented to a Tool and given the name Handle, a BasePart can be held by characters. See In-Experience Tools.
History 499
- 641 Change PreferredDescriptor of getMass from to GetMass
- 635 Add
- 635 Remove
- 635 Remove
- 635 Remove
- 633 Add
- 631 Add
- 631 Add
- 631 Add
- 603 Add TorqueToAngularAcceleration
- 603 Add AngularAccelerationToTorque
- 588 Remove unionAsync2_INTERNAL
- 588 Remove subtractAsync2_INTERNAL
- 583 Add GetNoCollisionConstraints
- 581 Add EnableFluidForces
- 576 Add GetClosestPointOnSurface
- 574 Change Tags of CollisionGroupId from [NotReplicated] to [NotReplicated, Deprecated]
- 574 Change PreferredDescriptor of CollisionGroupId from to CollisionGroup
- 573 Change ReturnType of makeJoints from void to null
- 573 Change ReturnType of breakJoints from void to null
- 573 Change ReturnType of SetNetworkOwnershipAuto from void to null
- 573 Change ReturnType of SetNetworkOwner from void to null
- 573 Change ReturnType of MakeJoints from void to null
- 573 Change ReturnType of BreakJoints from void to null
- 573 Change ReturnType of ApplyImpulseAtPosition from void to null
- 573 Change ReturnType of ApplyImpulse from void to null
- 573 Change ReturnType of ApplyAngularImpulse from void to null
- 567 Change ThreadSafety of GetNetworkOwnershipAuto from Unsafe to Safe
- 567 Change ThreadSafety of GetNetworkOwner from Unsafe to Safe
- 564 Change Tags of MakeJoints from [] to [Deprecated]
- 564 Add IntersectAsync
- 564 Change Tags of BreakJoints from [] to [Deprecated]
- 557 Add unionAsync2_INTERNAL
- 557 Add subtractAsync2_INTERNAL
- 557 Change ThreadSafety of GetVelocityAtPosition from Unsafe to Safe
- 557 Change ThreadSafety of CanCollideWith from Unsafe to Safe
- 557 Change Tags of from [NotReplicated] to [Hidden, NotReplicated]
- 557 Change CanLoad of from true to false
- 557 Change Tags of from [NotReplicated] to [Hidden, NotReplicated]
- 557 Change CanLoad of from true to false
- 553 Change PreferredDescriptor of StoppedTouching from to TouchEnded
- 553 Add
- 553 Change PreferredDescriptor of resize from to Resize
- 553 Change PreferredDescriptor of breakJoints from to BreakJoints
- 553 Add
- 553 Add
- 553 Change PreferredDescriptor of brickColor from to BrickColor
- 553 Change Default of brickColor from to
- 553 Change PreferredDescriptor of from to AssemblyLinearVelocity
- 553 Change Default of from to
- 553 Change Default of Transparency from to
- 553 Change Default of from to
- 553 Change Default of TopSurface from to
- 553 Change Default of from to
- 553 Change Default of from to
- 553 Change PreferredDescriptor of SpecificGravity from to SpecificGravity
- 553 Change Default of SpecificGravity from to
- 553 Change Default of Size from to
- 553 Change Default of Rotation from to
- 553 Change PreferredDescriptor of from to AssemblyAngularVelocity
- 553 Change Default of from to
- 553 Change Default of RootPriority from to
- 553 Change Default of from to
- 553 Change Default of RightSurface from to
- 553 Change Default of from to
- 553 Change Default of from to
- 553 Change Default of ResizeableFaces from to
- 553 Change Default of ResizeIncrement from to
- 553 Change Default of Reflectance from to
- 553 Change Default of from to
- 553 Change Default of from to
- 553 Change Default of PivotOffset from to
- 553 Change Default of from to
- 553 Add
- 553 Add
- 553 Add
- 553 Add
- 553 Change Default of MaterialVariant from to
- 553 Change Default of Material from to
- 553 Change Default of Massless from to
- 553 Change Default of Mass from to
- 553 Change Default of Locked from to
- 553 Change Default of from to
- 553 Add
- 553 Change Default of from to
- 553 Change Default of LeftSurface from to
- 553 Change Default of from to
- 553 Change Default of from to
- 553 Change Default of from to
- 553 Change Default of FrontSurface from to
- 553 Change Default of from to
- 553 Change Default of from to
- 553 Change Default of from to
- 553 Change Default of ExtentsSize from to
- 553 Change Default of ExtentsCFrame from to
- 553 Change Default of from to
- 553 Add
- 553 Change Default of CustomPhysicalProperties from to
- 553 Change Default of CurrentPhysicalProperties from to
- 553 Add
- 553 Change Default of Color from to
- 553 Add
- 553 Change Default of CollisionGroupId from to
- 553 Change Default of CollisionGroup from to
- 553 Change Default of CenterOfMass from to
- 553 Change Default of CastShadow from to
- 553 Change Default of CanTouch from to
- 553 Change Default of CanQuery from to
- 553 Change Default of CanCollide from to
- 553 Change Default of CFrame from to
- 553 Change Default of BrickColor from to
- 553 Change Default of from to
- 553 Change Default of BottomSurface from to
- 553 Change Default of from to
- 553 Change Default of from to
- 553 Change Default of from to
- 553 Change Default of BackSurface from to
- 553 Change Default of from to
- 553 Change Default of from to
- 553 Change Default of AssemblyRootPart from to
- 553 Change Default of AssemblyMass from to
- 553 Change Default of AssemblyLinearVelocity from to
- 553 Change Default of AssemblyCenterOfMass from to
- 553 Change Default of AssemblyAngularVelocity from to
- 553 Change Default of Anchored from to
- 550 Change Category of PivotOffset from Transform to Pivot
- 550 Add ExtentsSize
- 550 Add ExtentsCFrame
- 545 Add CurrentPhysicalProperties
- 542 Change CanSave of CollisionGroup from false to true
- 542 Change WriteSecurity of CollisionGroup from RobloxScriptSecurity to None
- 542 Change ReadSecurity of CollisionGroup from RobloxScriptSecurity to None
- 542 Change Tags of CollisionGroup from [Hidden, NotReplicated] to [NotReplicated]
- 538 Change Category of Size from Part to Transform
- 538 Change Category of from Data to Transform
- 538 Change Category of from Data to Transform
- 538 Change Category of CFrame from Data to Transform
- 536 Change Tags of CollisionGroupId from [] to [NotReplicated]
- 532 Add CollisionGroup
- 520 Change Category of ResizeableFaces from Behavior to Data
- 520 Change Category of ResizeIncrement from Behavior to Data
- 520 Change Category of Massless from Behavior to Part
- 520 Change Category of Mass from Data to Part
- 520 Change Category of Locked from Behavior to Data
- 520 Change Category of CollisionGroupId from Behavior to Collision
- 520 Change Category of CenterOfMass from Data to Part
- 520 Change Category of CanTouch from Behavior to Collision
- 520 Change Category of CanCollide from Behavior to Collision
- 520 Change Category of Anchored from Behavior to Part
- 517 Add MaterialVariant
- 499 Change Parameters of CanCollideWith from (part: Instance) to (part: BasePart)
- 499 Remove MaterialVariant
- 494 Add MaterialVariant
- 486 Change ThreadSafety of IsGrounded from ReadOnly to Safe
- 486 Change ThreadSafety of GetRootPart from ReadOnly to Safe
- 486 Change ThreadSafety of GetMass from ReadOnly to Safe
- 486 Change ThreadSafety of GetJoints from ReadOnly to Safe
- 486 Change ThreadSafety of GetConnectedParts from ReadOnly to Safe
- 486 Change ThreadSafety of brickColor from ReadOnly to ReadSafe
- 486 Change ThreadSafety of from ReadOnly to ReadSafe
- 486 Change ThreadSafety of Transparency from ReadOnly to ReadSafe
- 486 Change ThreadSafety of from ReadOnly to ReadSafe
- 486 Change ThreadSafety of TopSurface from ReadOnly to ReadSafe
- 486 Change ThreadSafety of from ReadOnly to ReadSafe
- 486 Change ThreadSafety of from ReadOnly to ReadSafe
- 486 Change ThreadSafety of SpecificGravity from ReadOnly to ReadSafe
- 486 Change ThreadSafety of Size from ReadOnly to ReadSafe
- 486 Change ThreadSafety of Rotation from ReadOnly to ReadSafe
- 486 Change ThreadSafety of from ReadOnly to ReadSafe
- 486 Change ThreadSafety of RootPriority from ReadOnly to ReadSafe
- 486 Change ThreadSafety of from ReadOnly to ReadSafe
- 486 Change ThreadSafety of RightSurface from ReadOnly to ReadSafe
- 486 Change ThreadSafety of from ReadOnly to ReadSafe
- 486 Change ThreadSafety of from ReadOnly to ReadSafe
- 486 Change ThreadSafety of ResizeableFaces from ReadOnly to ReadSafe
- 486 Change ThreadSafety of ResizeIncrement from ReadOnly to ReadSafe
- 486 Change ThreadSafety of Reflectance from ReadOnly to ReadSafe
- 486 Change ThreadSafety of from ReadOnly to ReadSafe
- 486 Change ThreadSafety of from ReadOnly to ReadSafe
- 486 Change ThreadSafety of PivotOffset from ReadOnly to ReadSafe
- 486 Change ThreadSafety of from ReadOnly to ReadSafe
- 486 Change ThreadSafety of Material from ReadOnly to ReadSafe
- 486 Change ThreadSafety of Massless from ReadOnly to ReadSafe
- 486 Change ThreadSafety of Mass from ReadOnly to ReadSafe
- 486 Change ThreadSafety of Locked from ReadOnly to ReadSafe
- 486 Change ThreadSafety of from ReadOnly to ReadSafe
- 486 Change ThreadSafety of from ReadOnly to ReadSafe
- 486 Change ThreadSafety of LeftSurface from ReadOnly to ReadSafe
- 486 Change ThreadSafety of from ReadOnly to ReadSafe
- 486 Change ThreadSafety of from ReadOnly to ReadSafe
- 486 Change ThreadSafety of from ReadOnly to ReadSafe
- 486 Change ThreadSafety of FrontSurface from ReadOnly to ReadSafe
- 486 Change ThreadSafety of from ReadOnly to ReadSafe
- 486 Change ThreadSafety of from ReadOnly to ReadSafe
- 486 Change ThreadSafety of from ReadOnly to ReadSafe
- 486 Change ThreadSafety of from ReadOnly to ReadSafe
- 486 Change ThreadSafety of CustomPhysicalProperties from ReadOnly to ReadSafe
- 486 Change ThreadSafety of Color from ReadOnly to ReadSafe
- 486 Change ThreadSafety of CollisionGroupId from ReadOnly to ReadSafe
- 486 Change ThreadSafety of CenterOfMass from ReadOnly to ReadSafe
- 486 Change ThreadSafety of CastShadow from ReadOnly to ReadSafe
- 486 Change ThreadSafety of CanTouch from ReadOnly to ReadSafe
- 486 Change ThreadSafety of CanQuery from ReadOnly to ReadSafe
- 486 Change ThreadSafety of CanCollide from ReadOnly to ReadSafe
- 486 Change ThreadSafety of CFrame from ReadOnly to ReadSafe
- 486 Change ThreadSafety of BrickColor from ReadOnly to ReadSafe
- 486 Change ThreadSafety of from ReadOnly to ReadSafe
- 486 Change ThreadSafety of BottomSurface from ReadOnly to ReadSafe
- 486 Change ThreadSafety of from ReadOnly to ReadSafe
- 486 Change ThreadSafety of from ReadOnly to ReadSafe
- 486 Change ThreadSafety of from ReadOnly to ReadSafe
- 486 Change ThreadSafety of BackSurface from ReadOnly to ReadSafe
- 486 Change ThreadSafety of from ReadOnly to ReadSafe
- 486 Change ThreadSafety of from ReadOnly to ReadSafe
- 486 Change ThreadSafety of AssemblyRootPart from ReadOnly to ReadSafe
- 486 Change ThreadSafety of AssemblyMass from ReadOnly to ReadSafe
- 486 Change ThreadSafety of AssemblyLinearVelocity from ReadOnly to ReadSafe
- 486 Change ThreadSafety of AssemblyCenterOfMass from ReadOnly to ReadSafe
- 486 Change ThreadSafety of AssemblyAngularVelocity from ReadOnly to ReadSafe
- 486 Change ThreadSafety of Anchored from ReadOnly to ReadSafe
- 485 Change Parameters of SetNetworkOwner from (playerInstance: Instance = Instance) to (playerInstance: Player = Player)
- 484 Add CanQuery
- 484 Change Category of AssemblyRootPart from Assembly to Assembly
- 484 Change Category of AssemblyMass from Assembly to Assembly
- 484 Change Category of AssemblyLinearVelocity from Assembly to Assembly
- 484 Change Category of AssemblyCenterOfMass from Assembly to Assembly
- 484 Change Category of AssemblyAngularVelocity from Assembly to Assembly
- 483 Change Parameters of Touched from (otherPart: Instance) to (otherPart: BasePart)
- 483 Change Parameters of TouchEnded from (otherPart: Instance) to (otherPart: BasePart)
- 483 Change Parameters of StoppedTouching from (otherPart: Instance) to (otherPart: BasePart)
- 483 Change Parameters of LocalSimulationTouched from (part: Instance) to (part: BasePart)
- 480 Remove touched
- 478 Change Tags of from [] to [Hidden, Deprecated]
- 478 Change Tags of from [] to [Hidden, Deprecated]
- 478 Change Tags of from [] to [Hidden, Deprecated]
- 478 Change Tags of from [] to [Hidden, Deprecated]
- 478 Change Tags of from [] to [Hidden, Deprecated]
- 478 Change Tags of from [] to [Hidden, Deprecated]
- 478 Change Tags of from [] to [Hidden, Deprecated]
- 478 Change Tags of from [] to [Hidden, Deprecated]
- 478 Change Tags of from [] to [Hidden, Deprecated]
- 478 Change Tags of from [] to [Hidden, Deprecated]
- 478 Change Tags of from [] to [Hidden, Deprecated]
- 478 Change Tags of from [] to [Hidden, Deprecated]
- 478 Change Tags of from [] to [Hidden, Deprecated]
- 478 Change Tags of from [] to [Hidden, Deprecated]
- 478 Change Tags of from [] to [Hidden, Deprecated]
- 478 Change Tags of from [] to [Hidden, Deprecated]
- 478 Change Tags of from [] to [Hidden, Deprecated]
- 478 Change Tags of from [] to [Hidden, Deprecated]
- 476 Change Category of Size from Part to Part
- 476 Change Category of RootPriority from Part to Part
- 476 Change Category of from Part to Part
- 476 Change Category of from Part to Part
- 476 Change Category of from Part to Part
- 476 Change Category of CustomPhysicalProperties from Part to Part
- 470 Add PivotOffset
- 464 Add GetVelocityAtPosition
- 464 Change Tags of from [] to [Hidden, Deprecated]
- 464 Change Tags of from [] to [Hidden, Deprecated]
- 462 Change ThreadSafety of touched from to Unsafe
- 462 Change ThreadSafety of Touched from to Unsafe
- 462 Change ThreadSafety of TouchEnded from to Unsafe
- 462 Change ThreadSafety of StoppedTouching from to Unsafe
- 462 Change ThreadSafety of OutfitChanged from to Unsafe
- 462 Change ThreadSafety of LocalSimulationTouched from to Unsafe
- 462 Change ThreadSafety of resize from to Unsafe
- 462 Change ThreadSafety of makeJoints from to Unsafe
- 462 Change ThreadSafety of getMass from to Unsafe
- 462 Change ThreadSafety of breakJoints from to Unsafe
- 462 Change ThreadSafety of UnionAsync from to Unsafe
- 462 Change ThreadSafety of SubtractAsync from to Unsafe
- 462 Change ThreadSafety of SetNetworkOwnershipAuto from to Unsafe
- 462 Change ThreadSafety of SetNetworkOwner from to Unsafe
- 462 Change ThreadSafety of Resize from to Unsafe
- 462 Change ThreadSafety of MakeJoints from to Unsafe
- 462 Change ThreadSafety of IsGrounded from to ReadOnly
- 462 Change ThreadSafety of GetTouchingParts from to Unsafe
- 462 Change ThreadSafety of GetRootPart from to ReadOnly
- 462 Change ThreadSafety of GetRenderCFrame from to Unsafe
- 462 Change ThreadSafety of GetNetworkOwnershipAuto from to Unsafe
- 462 Change ThreadSafety of GetNetworkOwner from to Unsafe
- 462 Change ThreadSafety of GetMass from to ReadOnly
- 462 Change ThreadSafety of GetJoints from to ReadOnly
- 462 Change ThreadSafety of GetConnectedParts from to ReadOnly
- 462 Change ThreadSafety of CanSetNetworkOwnership from to Unsafe
- 462 Change ThreadSafety of CanCollideWith from to Unsafe
- 462 Change ThreadSafety of BreakJoints from to Unsafe
- 462 Change ThreadSafety of ApplyImpulseAtPosition from to Unsafe
- 462 Change ThreadSafety of ApplyImpulse from to Unsafe
- 462 Change ThreadSafety of ApplyAngularImpulse from to Unsafe
- 462 Change ThreadSafety of brickColor from to ReadOnly
- 462 Change ThreadSafety of from to ReadOnly
- 462 Change ThreadSafety of Transparency from to ReadOnly
- 462 Change ThreadSafety of from to ReadOnly
- 462 Change ThreadSafety of TopSurface from to ReadOnly
- 462 Change ThreadSafety of from to ReadOnly
- 462 Change ThreadSafety of from to ReadOnly
- 462 Change ThreadSafety of SpecificGravity from to ReadOnly
- 462 Change ThreadSafety of Size from to ReadOnly
- 462 Change ThreadSafety of Rotation from to ReadOnly
- 462 Change ThreadSafety of from to ReadOnly
- 462 Change ThreadSafety of RootPriority from to ReadOnly
- 462 Change ThreadSafety of from to ReadOnly
- 462 Change ThreadSafety of RightSurface from to ReadOnly
- 462 Change ThreadSafety of from to ReadOnly
- 462 Change ThreadSafety of from to ReadOnly
- 462 Change ThreadSafety of ResizeableFaces from to ReadOnly
- 462 Change ThreadSafety of ResizeIncrement from to ReadOnly
- 462 Change ThreadSafety of Reflectance from to ReadOnly
- 462 Change ThreadSafety of from to ReadOnly
- 462 Change ThreadSafety of from to ReadOnly
- 462 Change ThreadSafety of from to ReadOnly
- 462 Change ThreadSafety of Material from to ReadOnly
- 462 Change ThreadSafety of Massless from to ReadOnly
- 462 Change ThreadSafety of Mass from to ReadOnly
- 462 Change ThreadSafety of Locked from to ReadOnly
- 462 Change ThreadSafety of from to ReadOnly
- 462 Change ThreadSafety of from to ReadOnly
- 462 Change ThreadSafety of LeftSurface from to ReadOnly
- 462 Change ThreadSafety of from to ReadOnly
- 462 Change ThreadSafety of from to ReadOnly
- 462 Change ThreadSafety of from to ReadOnly
- 462 Change ThreadSafety of FrontSurface from to ReadOnly
- 462 Change ThreadSafety of from to ReadOnly
- 462 Change ThreadSafety of from to ReadOnly
- 462 Change ThreadSafety of from to ReadOnly
- 462 Change ThreadSafety of from to ReadOnly
- 462 Change ThreadSafety of CustomPhysicalProperties from to ReadOnly
- 462 Change ThreadSafety of Color from to ReadOnly
- 462 Change ThreadSafety of CollisionGroupId from to ReadOnly
- 462 Change ThreadSafety of CenterOfMass from to ReadOnly
- 462 Change ThreadSafety of CastShadow from to ReadOnly
- 462 Change ThreadSafety of CanTouch from to ReadOnly
- 462 Change ThreadSafety of CanCollide from to ReadOnly
- 462 Change ThreadSafety of CFrame from to ReadOnly
- 462 Change ThreadSafety of BrickColor from to ReadOnly
- 462 Change ThreadSafety of from to ReadOnly
- 462 Change ThreadSafety of BottomSurface from to ReadOnly
- 462 Change ThreadSafety of from to ReadOnly
- 462 Change ThreadSafety of from to ReadOnly
- 462 Change ThreadSafety of from to ReadOnly
- 462 Change ThreadSafety of BackSurface from to ReadOnly
- 462 Change ThreadSafety of from to ReadOnly
- 462 Change ThreadSafety of from to ReadOnly
- 462 Change ThreadSafety of AssemblyRootPart from to ReadOnly
- 462 Change ThreadSafety of AssemblyMass from to ReadOnly
- 462 Change ThreadSafety of AssemblyLinearVelocity from to ReadOnly
- 462 Change ThreadSafety of AssemblyCenterOfMass from to ReadOnly
- 462 Change ThreadSafety of AssemblyAngularVelocity from to ReadOnly
- 462 Change ThreadSafety of Anchored from to ReadOnly
- 461 Change Category of CanTouch from Data to Behavior
- 460 Add CanTouch
- 455 Add ApplyImpulseAtPosition
- 455 Add ApplyImpulse
- 455 Add ApplyAngularImpulse
- 455 Add AssemblyRootPart
- 455 Add AssemblyMass
- 455 Add AssemblyLinearVelocity
- 455 Add AssemblyCenterOfMass
- 455 Add AssemblyAngularVelocity
- 452 Remove ApplyImpulseAtPosition
- 452 Remove ApplyImpulse
- 452 Remove ApplyAngularImpulse
- 452 Remove LinearVelocity
- 452 Remove BodyMass
- 452 Remove BodyLinearVelocity
- 452 Remove BodyCenterOfMass
- 452 Remove BodyAngularVelocity
- 452 Add ApplyImpulseAtPosition
- 452 Add ApplyImpulse
- 452 Add ApplyAngularImpulse
- 452 Add LinearVelocity
- 452 Add BodyMass
- 452 Add BodyLinearVelocity
- 452 Add BodyCenterOfMass
- 452 Add BodyAngularVelocity
- 424 Change Tags of getMass from [Deprecated, CustomLuaState] to [Deprecated]
- 424 Change Tags of GetMass from [CustomLuaState] to []
- 424 Add Mass
- 380 Add CastShadow
- 361 Add RootPriority
- 361 Add Massless
- 357 Change Parameters of UnionAsync from (parts: Objects, collisionfidelity: CollisionFidelity = Default) to (parts: Objects, collisionfidelity: CollisionFidelity = Default, renderFidelity: RenderFidelity = Automatic)
- 357 Change Parameters of SubtractAsync from (parts: Objects, collisionfidelity: CollisionFidelity = Default) to (parts: Objects, collisionfidelity: CollisionFidelity = Default, renderFidelity: RenderFidelity = Automatic)
- 352 Remove UnionWith
- 352 Add UnionAsync
- 352 Add SubtractAsync
- 352 Remove Separate
- 352 Remove Negate
- 351 Change CanSave of from true to false
- 351 Change CanSave of from true to false
- 350 Change CanSave of from false to true
- 350 Change CanSave of from false to true
- 351 Change CanSave of from true to false
- 351 Change CanSave of from true to false
- 349 Change Tags of getMass from [Deprecated] to [Deprecated, CustomLuaState]
- 349 Change Tags of GetMass from [] to [CustomLuaState]
- 335 Add Separate
- 331 Add UnionWith
- 331 Add Negate
- 328 Change Tags of from [NotReplicated] to [Hidden, NotReplicated, Deprecated]
- 328 Change Tags of from [NotReplicated] to [Hidden, NotReplicated, Deprecated]
- 317 Add GetJoints
- 294 Add CenterOfMass
- 292 Change Tags of Color from [NotReplicated, Deprecated] to [NotReplicated]
- 290 Add
- 287 Add CanCollideWith
- 287 Add CollisionGroupId
- 282 Change Tags of SpecificGravity from [ReadOnly, NotReplicated] to [ReadOnly, NotReplicated, Deprecated]
- 281 Change Tags of SpecificGravity from [ReadOnly, NotReplicated, Deprecated] to [ReadOnly, NotReplicated]
- 282 Change Tags of SpecificGravity from [ReadOnly, NotReplicated] to [ReadOnly, NotReplicated, Deprecated]
- 273 Change Tags of GetRenderCFrame from [] to [Deprecated]
- 272 Change Tags of GetRenderCFrame from [Deprecated] to []
- 273 Change Tags of GetRenderCFrame from [] to [Deprecated]
- 220 Add CustomPhysicalProperties
- 208 Add CanSetNetworkOwnership
- 200 Add SetNetworkOwnershipAuto
- 200 Add SetNetworkOwner
- 200 Add GetNetworkOwnershipAuto
- 200 Add GetNetworkOwner
- 196 Add GetTouchingParts
- 187 Add GetRenderCFrame
- 169 Add
- 163 Remove
- 159 Add
- 156 Change Tags of StoppedTouching from [] to [Deprecated]
- 130 Add GetRootPart
- 118 Change Security of IsGrounded from RobloxPlaceSecurity to None
- 118 Change Security of GetConnectedParts from RobloxPlaceSecurity to None
- 115 Remove GetJoints
- 113 Add IsGrounded
- 113 Add GetJoints
- 113 Add GetConnectedParts
- 110 Add Rotation
- 79 Change Tags of StoppedTouching from [preliminary] to []
- 78 Change Tags of StoppedTouching from [] to [preliminary]
- 79 Change Tags of StoppedTouching from [preliminary] to []
- 68 Add touched
- 68 Add brickColor
- 61 Add SpecificGravity
- 57 Add
- 55 Change Tags of BasePart from [NotCreatable] to [NotCreatable, NotBrowsable]
- 50 Add resize
- 50 Change Parameters of Resize from (NormalId: NormalId, DeltaAmount: int) to (normalId: NormalId, deltaAmount: int)
- 49 Add breakJoints
- 48 Add makeJoints
- 48 Add getMass
- 47 Add Touched
- 47 Add TouchEnded
- 47 Add StoppedTouching
- 47 Add OutfitChanged
- 47 Add LocalSimulationTouched
- 47 Add Resize
- 47 Add MakeJoints
- 47 Add GetMass
- 47 Add BreakJoints
- 47 Add
- 47 Add Transparency
- 47 Add
- 47 Add TopSurface
- 47 Add
- 47 Add
- 47 Add Size
- 47 Add
- 47 Add
- 47 Add RightSurface
- 47 Add
- 47 Add
- 47 Add ResizeableFaces
- 47 Add ResizeIncrement
- 47 Add Reflectance
- 47 Add
- 47 Add Material
- 47 Add Locked
- 47 Add
- 47 Add LeftSurface
- 47 Add
- 47 Add
- 47 Add
- 47 Add FrontSurface
- 47 Add
- 47 Add
- 47 Add
- 47 Add
- 47 Add Color
- 47 Add CanCollide
- 47 Add CFrame
- 47 Add BrickColor
- 47 Add
- 47 Add BottomSurface
- 47 Add
- 47 Add
- 47 Add
- 47 Add BackSurface
- 47 Add
- 47 Add
- 47 Add Anchored
- 47 Add BasePart
Members 117
Anchored
Type | Default | |
---|---|---|
bool |
The Anchored property determines whether the part will be immovable by physics. When enabled, a part will never change position due to gravity, other part collisions, overlapping other parts, or any other physics-related causes. As a result, two anchored parts will never fire the BasePart.Touched event on each other.
An anchored part may still be moved by changing its CFrame or Position, and it still may have a nonzero AssemblyLinearVelocity and AssemblyAngularVelocity.
Finally, if an unanchored part is joined with an anchored part through an object like a Weld, it too will act anchored. If such a joint breaks, the part may be affected by physics again. See Assemblies for more details.
Network ownership cannot be set on anchored parts. If a part's anchored status changes on the server, the network ownership of that part will be affected.
Thread safety | ReadSafe |
---|---|
Category | Part |
Loaded/Saved | true |
AngularAccelerationToTorque
Parameters (2) | Default | |
---|---|---|
angAcceleration | Vector3 | |
angVelocity | Vector3 | 0, 0, 0 |
Returns (1) | ||
Vector3 |
Thread safety | Unsafe |
---|
History 1
ApplyAngularImpulse
Parameters (1) | ||
---|---|---|
impulse | Vector3 | |
Returns (1) | ||
null |
Applies an instant angular force impulse to this part's assembly, causing the assembly to spin.
The resulting angular velocity from the impulse relies on the assembly's mass. So a higher impulse is required to move more massive assemblies. Impulses are useful for cases where you want a force applied instantly, such as an explosion or collision.
If the part is owned by the server, this function must be called from a server Script (not from a LocalScript or a Script with RunContext set to RunContext.Client). If the part is owned by a client through automatic ownership, this function can be called from either a client script or a server script; calling it from a client script for a server-owned part will have no effect.
Thread safety | Unsafe |
---|
History 5
- 573 Change ReturnType of ApplyAngularImpulse from void to null
- 462 Change ThreadSafety of ApplyAngularImpulse from to Unsafe
- 455 Add ApplyAngularImpulse
- 452 Remove ApplyAngularImpulse
- 452 Add ApplyAngularImpulse
ApplyImpulse
Parameters (1) | ||
---|---|---|
impulse | Vector3 | |
Returns (1) | ||
null |
This function applies an instant force impulse to this part's assembly.
The force is applied at the assembly's center of mass, so the resulting movement will only be linear.
The resulting velocity from the impulse relies on the assembly's mass. So a higher impulse is required to move more massive assemblies. Impulses are useful for cases where you want a force applied instantly, such as an explosion or collision.
If the part is owned by the server, this function must be called from a server Script (not from a LocalScript or a Script with RunContext set to RunContext.Client). If the part is owned by a client through automatic ownership, this function can be called from either a client script or a server script; calling it from a client script for a server-owned part will have no effect.
Thread safety | Unsafe |
---|
History 5
- 573 Change ReturnType of ApplyImpulse from void to null
- 462 Change ThreadSafety of ApplyImpulse from to Unsafe
- 455 Add ApplyImpulse
- 452 Remove ApplyImpulse
- 452 Add ApplyImpulse
ApplyImpulseAtPosition
Parameters (2) | ||
---|---|---|
impulse | Vector3 | |
position | Vector3 | |
Returns (1) | ||
null |
This function applies an instant force impulse to this part's assembly, at the specified position in world space.
If the position is not at the assembly's center of mass, the impulse will cause a positional and rotational movement.
The resulting velocity from the impulse relies on the assembly's mass. So a higher impulse is required to move more massive assemblies. Impulses are useful for cases where developers want a force applied instantly, such as an explosion or collision.
If the part is owned by the server, this function must be called from a server Script (not from a LocalScript or a Script with RunContext set to RunContext.Client). If the part is owned by a client through automatic ownership, this function can be called from either a client script or a server script; calling it from a client script for a server-owned part will have no effect.
Thread safety | Unsafe |
---|
History 5
- 573 Change ReturnType of ApplyImpulseAtPosition from void to null
- 462 Change ThreadSafety of ApplyImpulseAtPosition from to Unsafe
- 455 Add ApplyImpulseAtPosition
- 452 Remove ApplyImpulseAtPosition
- 452 Add ApplyImpulseAtPosition
AssemblyAngularVelocity
Type | Default | |
---|---|---|
Vector3 |
The angular velocity vector of this part's assembly. It's the rate of change of orientation in radians per second.
Angular velocity is the same at every point of the assembly.
Setting the velocity directly may lead to unrealistic motion. Using Torque or AngularVelocity constraint is preferred, or use BasePart:ApplyAngularImpulse() if you want instantaneous change in velocity.
If the part is owned by the server, this property must be changed from a server Script (not from a LocalScript or a Script with RunContext set to RunContext.Client). If the part is owned by a client through automatic ownership, this property can be changed from either a client script or a server script; changing it from a client script for a server-owned part will have no effect.
Thread safety | ReadSafe |
---|---|
Category | Assembly |
Loaded/Saved | true/false |
History 5
- 553 Change Default of AssemblyAngularVelocity from to
- 486 Change ThreadSafety of AssemblyAngularVelocity from ReadOnly to ReadSafe
- 484 Change Category of AssemblyAngularVelocity from Assembly to Assembly
- 462 Change ThreadSafety of AssemblyAngularVelocity from to ReadOnly
- 455 Add AssemblyAngularVelocity
AssemblyCenterOfMass
Type | Default | |
---|---|---|
Vector3 |
A position calculated via the mass and position of all the parts in the assembly.
If the assembly has an anchored part, that part's center of mass will be the assembly's center of mass, and the assembly will have infinite mass.
Knowing the center of mass can help the assembly maintain stability. A force applied to the center of mass will not cause angular acceleration, only linear. An assembly with a low center of mass will have a better time staying upright under the effect of gravity.
Thread safety | ReadSafe |
---|---|
Category | Assembly |
Loaded/Saved | false |
History 5
- 553 Change Default of AssemblyCenterOfMass from to
- 486 Change ThreadSafety of AssemblyCenterOfMass from ReadOnly to ReadSafe
- 484 Change Category of AssemblyCenterOfMass from Assembly to Assembly
- 462 Change ThreadSafety of AssemblyCenterOfMass from to ReadOnly
- 455 Add AssemblyCenterOfMass
AssemblyLinearVelocity
Type | Default | |
---|---|---|
Vector3 |
The linear velocity vector of this part's assembly. It's the rate of change in position of the assembly's center of mass in studs per second.
If you want to know the velocity at a point other than the assembly's center of mass, use BasePart:GetVelocityAtPosition().
Setting the velocity directly may lead to unrealistic motion. Using a VectorForce constraint is preferred, or use BasePart:ApplyImpulse() if you want instantaneous change in velocity.
If the part is owned by the server, this property must be changed from a server Script (not from a LocalScript or a Script with RunContext set to RunContext.Client). If the part is owned by a client through automatic ownership, this property can be changed from either a client script or a server script; changing it from a client script for a server-owned part will have no effect.
Thread safety | ReadSafe |
---|---|
Category | Assembly |
Loaded/Saved | true/false |
History 5
- 553 Change Default of AssemblyLinearVelocity from to
- 486 Change ThreadSafety of AssemblyLinearVelocity from ReadOnly to ReadSafe
- 484 Change Category of AssemblyLinearVelocity from Assembly to Assembly
- 462 Change ThreadSafety of AssemblyLinearVelocity from to ReadOnly
- 455 Add AssemblyLinearVelocity
AssemblyMass
Type | Default | |
---|---|---|
float |
The sum of the mass of all the parts in this part's assembly. Parts that are Massless and are not the assembly's root part will not contribute to the AssemblyMass.
If the assembly has an anchored part, the assembly's mass is considered infinite. Constraints and other physical interactions between unanchored assemblies with a large difference in mass may cause instabilities.
Thread safety | ReadSafe |
---|---|
Category | Assembly |
Loaded/Saved | false |
History 5
- 553 Change Default of AssemblyMass from to
- 486 Change ThreadSafety of AssemblyMass from ReadOnly to ReadSafe
- 484 Change Category of AssemblyMass from Assembly to Assembly
- 462 Change ThreadSafety of AssemblyMass from to ReadOnly
- 455 Add AssemblyMass
AssemblyRootPart
Type | Default | |
---|---|---|
BasePart |
This property indicates the BasePart automatically chosen to represent the assembly's root part. It is the same part that's returned when developers call GetRootPart().
The root part can be changed by changing the RootPriority of the parts in the assembly.
Parts that all share the same AssemblyRootPart are in the same assembly.
For more information on root parts, see Assemblies.
Thread safety | ReadSafe |
---|---|
Category | Assembly |
Loaded/Saved | false |
History 5
- 553 Change Default of AssemblyRootPart from to
- 486 Change ThreadSafety of AssemblyRootPart from ReadOnly to ReadSafe
- 484 Change Category of AssemblyRootPart from Assembly to Assembly
- 462 Change ThreadSafety of AssemblyRootPart from to ReadOnly
- 455 Add AssemblyRootPart
BackSurface
Type | Default | |
---|---|---|
SurfaceType |
The BackSurface property determines the type of surface used for the +Z direction of a part. When two parts' faces are placed next to each other, they may create a joint between them. If set to Motor, the BasePart.BackSurfaceInput determines how a motor joint should behave.
Most SurfaceTypes render a texture on the part face if the BasePart.Material is set to Plastic. Some SurfaceTypes - Hinge, Motor and SteppingMotor - will render a 3D adornment instead. If this property is selected in the Properties window, it will be highlighted in the game world similar to that of a SurfaceSelection.
Thread safety | ReadSafe |
---|---|
Category | Surface |
Loaded/Saved | true |
History 4
- 553 Change Default of BackSurface from to
- 486 Change ThreadSafety of BackSurface from ReadOnly to ReadSafe
- 462 Change ThreadSafety of BackSurface from to ReadOnly
- 47 Add BackSurface
BottomSurface
Type | Default | |
---|---|---|
SurfaceType |
The BottomSurface property determines the type of surface used for the -Y direction of a part. When two parts' faces are placed next to each other, they may create a joint between them. If set to Motor, the BasePart.BottomSurfaceInput determines how a motor joint should behave.
Most SurfaceTypes render a texture on the part face if the BasePart.Material is set to Plastic. Some SurfaceTypes - Hinge, Motor and SteppingMotor - will render a 3D adornment instead. If this property is selected in the Properties window, it will be highlighted in the game world similar to that of a SurfaceSelection.
Thread safety | ReadSafe |
---|---|
Category | Surface |
Loaded/Saved | true |
History 4
- 553 Change Default of BottomSurface from to
- 486 Change ThreadSafety of BottomSurface from ReadOnly to ReadSafe
- 462 Change ThreadSafety of BottomSurface from to ReadOnly
- 47 Add BottomSurface
BreakJoints
Parameters (0) | ||
---|---|---|
No parameters. | ||
Returns (1) | ||
null |
Breaks any surface connection with any adjacent part, including Weld and other JointInstance.
Thread safety | Unsafe |
---|
History 4
- 573 Change ReturnType of BreakJoints from void to null
- 564 Change Tags of BreakJoints from [] to [Deprecated]
- 462 Change ThreadSafety of BreakJoints from to Unsafe
- 47 Add BreakJoints
BrickColor
Type | Default | |
---|---|---|
BrickColor |
The BrickColor property determines the color of a part. If the part has a BasePart.Material, this also determines the color used when rendering the material texture. For more control over the color, the BasePart.Color property can be used (it is a Color3 variant of this property). If Color set, this property will use the closest BrickColor.
Other visual properties of a part are determined by BasePart.Transparency and BasePart.Reflectance.
Thread safety | ReadSafe |
---|---|
Category | Appearance |
Loaded/Saved | true/false |
History 4
- 553 Change Default of BrickColor from to
- 486 Change ThreadSafety of BrickColor from ReadOnly to ReadSafe
- 462 Change ThreadSafety of BrickColor from to ReadOnly
- 47 Add BrickColor
CFrame
Type | Default | |
---|---|---|
CFrame |
The CFrame property determines both the position and orientation of the BasePart in the world. It acts as an arbitrary reference location on the geometry, but ExtentsCFrame represents the actual CFrame of its physical center.
When setting CFrame on a part, other joined parts are also moved relative to the part, but it is recommended that you use PVInstance:PivotTo() to move an entire model, such as when teleporting a player's character.
Unlike setting BasePart.Position, setting BasePart.CFrame will always move the part to the exact given CFrame; in other words: no overlap checking is done and the physics solver will attempt to resolve any overlap unless both parts are Anchored.
For keeping track of positions relative to a part's CFrame, an Attachment may be useful.
Thread safety | ReadSafe |
---|---|
Category | Transform |
Loaded/Saved | true |
CanCollide
Type | Default | |
---|---|---|
bool |
CanCollide determines whether a part will physically interact with other parts. When disabled, other parts can pass through the brick uninterrupted. Parts used for decoration usually have CanCollide disabled, as they need not be considered by the physics engine.
If a part is not BasePart.Anchored and has CanCollide disabled, it may fall out of the world to be eventually destroyed by Workspace.FallenPartsDestroyHeight.
When CanCollide is disabled, parts may still fire the BasePart.Touched event (as well the other parts touching them). You can disable this with BasePart.CanTouch.
For more information on collisions, see Collisions.
Thread safety | ReadSafe |
---|---|
Category | Collision |
Loaded/Saved | true |
History 5
- 553 Change Default of CanCollide from to
- 520 Change Category of CanCollide from Behavior to Collision
- 486 Change ThreadSafety of CanCollide from ReadOnly to ReadSafe
- 462 Change ThreadSafety of CanCollide from to ReadOnly
- 47 Add CanCollide
CanCollideWith
Parameters (1) | ||
---|---|---|
part | BasePart | |
Returns (1) | ||
bool |
Returns whether the parts can collide with each other or not. This function takes into account the collision groups of the two parts. This function will error if the specified part is not a BasePart.
Thread safety | Safe |
---|
History 4
- 557 Change ThreadSafety of CanCollideWith from Unsafe to Safe
- 499 Change Parameters of CanCollideWith from (part: Instance) to (part: BasePart)
- 462 Change ThreadSafety of CanCollideWith from to Unsafe
- 287 Add CanCollideWith
CanQuery
Type | Default | |
---|---|---|
bool |
CanQuery determines whether the part is considered during spatial query
operations, such as
GetPartBoundsInBox or
Raycast. CanCollide
must also be disabled
when disabling CanQuery. These functions will never include parts whose
CanQuery and CanCollide
is false.
Beyond this property, it is also possible to exclude parts which are descendants of a given list of parts using an OverlapParams or RaycastParams object when calling the spatial query functions.
Thread safety | ReadSafe |
---|---|
Category | Collision |
Loaded/Saved | true |
CanSetNetworkOwnership
Parameters (0) | ||
---|---|---|
No parameters. | ||
Returns (1) | ||
Tuple |
The CanSetNetworkOwnership function checks whether you can set a part's network ownership.
The function's return value verifies whether or not you can call BasePart:SetNetworkOwner() or BasePart:SetNetworkOwnershipAuto() without encountering an error. It returns true if you can modify/read the network ownership, or returns false and the reason you can't, as a string.
Thread safety | Unsafe |
---|
History 2
- 462 Change ThreadSafety of CanSetNetworkOwnership from to Unsafe
- 208 Add CanSetNetworkOwnership
CanTouch
Type | Default | |
---|---|---|
bool |
This property determines if Touched and
TouchEnded events fire on the part. If true
,
other touching parts must also have CanTouch set
to true
for touch events to fire. If false
, touch events cannot be set
up for the part and attempting to do so will throw an error. Similarly, if
the property is set to false
after a touch event is connected, the event
will be disconnected and the TouchTransmitter removed.
Note that this collision logic can be set to respect
collision groups
through the Workspace.TouchesUseCollisionGroups property. If
true
, parts in non-colliding groups will ignore both collisions and
touch events, thereby making this property irrelevant.
Performance
There is a small performance gain on parts that have both
CanTouch and
CanCollide set to false
, as these parts will
never need to compute any kind of part to part collisions. However, they
can still be hit by Raycasts and
OverlapParams queries.
Thread safety | ReadSafe |
---|---|
Category | Collision |
Loaded/Saved | true |
CastShadow
Type | Default | |
---|---|---|
bool |
Determines whether or not a part casts a shadow.
Note that this feature is not designed for performance enhancement. It should only be disabled on parts where you want to hide the shadows the part casts. Disabling this property for a given part may cause visual artifacts on the shadows cast upon that part.
Thread safety | ReadSafe |
---|---|
Category | Appearance |
Loaded/Saved | true |
History 4
- 553 Change Default of CastShadow from to
- 486 Change ThreadSafety of CastShadow from ReadOnly to ReadSafe
- 462 Change ThreadSafety of CastShadow from to ReadOnly
- 380 Add CastShadow
CenterOfMass
Type | Default | |
---|---|---|
Vector3 |
The CenterOfMass property describes the local position of a part's
center of mass. If this is a single part assembly, this is the
AssemblyCenterOfMass
converted from world space to local. On simple
Parts, the center of mass is always (0,0,0). It can vary for
WedgePart or MeshPart however.
Thread safety | ReadSafe |
---|---|
Category | Part |
Loaded/Saved | false |
History 5
- 553 Change Default of CenterOfMass from to
- 520 Change Category of CenterOfMass from Data to Part
- 486 Change ThreadSafety of CenterOfMass from ReadOnly to ReadSafe
- 462 Change ThreadSafety of CenterOfMass from to ReadOnly
- 294 Add CenterOfMass
CollisionGroup
Type | Default | |
---|---|---|
string |
The CollisionGroup property describes the
name of the part's collision group (maximum of 100 characters). Parts
start off in the default group whose name is "Default"
. This value
cannot be empty.
Although this property itself is non-replicated, the engine internally replicates the value through another private property to solve backward compatibility issues.
Thread safety | ReadSafe |
---|---|
Category | Collision |
Loaded/Saved | true |
History 6
- 553 Change Default of CollisionGroup from to
- 542 Change CanSave of CollisionGroup from false to true
- 542 Change WriteSecurity of CollisionGroup from RobloxScriptSecurity to None
- 542 Change ReadSecurity of CollisionGroup from RobloxScriptSecurity to None
- 542 Change Tags of CollisionGroup from [Hidden, NotReplicated] to [NotReplicated]
- 532 Add CollisionGroup
CollisionGroupId
Type | Default | |
---|---|---|
int |
The BasePart.CollisionGroupId property describes the ID number of
the part's collision group. Parts start off in the "Default"
group whose
ID is 0. If a part is unregistered, the value becomes -1. This value
cannot be less than -1 and it cannot exceed
PhysicsService:GetMaxCollisionGroups(). Invalid IDs are clamped.
Although this property can be directly changed, it's recommended that you specify the collision group by setting BasePart.CollisionGroup to the collision group's name.
Thread safety | ReadSafe |
---|---|
Category | Collision |
Loaded/Saved | true |
History 8
- 574 Change Tags of CollisionGroupId from [NotReplicated] to [NotReplicated, Deprecated]
- 574 Change PreferredDescriptor of CollisionGroupId from to CollisionGroup
- 553 Change Default of CollisionGroupId from to
- 536 Change Tags of CollisionGroupId from [] to [NotReplicated]
- 520 Change Category of CollisionGroupId from Behavior to Collision
- 486 Change ThreadSafety of CollisionGroupId from ReadOnly to ReadSafe
- 462 Change ThreadSafety of CollisionGroupId from to ReadOnly
- 287 Add CollisionGroupId
Color
Type | Default | |
---|---|---|
Color3 |
The Color property determines the color of a part. If the part has a BasePart.Material, this also determines the color used when rendering the material texture. If this property is set, BasePart.BrickColor will use the closest BrickColor to the Color3 value.
Other visual properties of a part are determined by BasePart.Transparency and BasePart.Reflectance.
Thread safety | ReadSafe |
---|---|
Category | Appearance |
Loaded/Saved | true/false |
CurrentPhysicalProperties
Type | Default | |
---|---|---|
PhysicalProperties |
CurrentPhysicalProperties indicates the current physical properties of the part. You can set custom values for the physical properties per part, custom material, and material override. The Engine prioritizes more granular definitions when determining the effective physical properties of a part. The values in the following list are in order from highest to lowest priority:
- Custom physical properties of the part
- Custom physical properties of the part's custom material
- Custom physical properties of the material override of the part's material
- Default physical properties of the part's material
Thread safety | ReadSafe |
---|---|
Category | Part |
Loaded/Saved | false |
History 2
- 553 Change Default of CurrentPhysicalProperties from to
- 545 Add CurrentPhysicalProperties
CustomPhysicalProperties
Type | Default | |
---|---|---|
PhysicalProperties |
CustomPhysicalProperties lets you customize various physical aspects of a Part, such as its density, friction, and elasticity.
If enabled, this property let's you configure these physical properties. If disabled, these physical properties are determined by the BasePart.Material of the part. The page for Material contains list of the various part materials.
Thread safety | ReadSafe |
---|---|
Category | Part |
Loaded/Saved | true |
History 5
- 553 Change Default of CustomPhysicalProperties from to
- 486 Change ThreadSafety of CustomPhysicalProperties from ReadOnly to ReadSafe
- 476 Change Category of CustomPhysicalProperties from Part to Part
- 462 Change ThreadSafety of CustomPhysicalProperties from to ReadOnly
- 220 Add CustomPhysicalProperties
EnableFluidForces
Type | Default | |
---|---|---|
bool |
When true, and when Workspace.FluidForces is enabled, causes the physics engine to compute aerodynamic forces on this BasePart.
Thread safety | ReadSafe |
---|---|
Category | Behavior |
Loaded/Saved | true |
History 1
- 581 Add EnableFluidForces
ExtentsCFrame
Type | Default | |
---|---|---|
CFrame |
Thread safety | ReadSafe |
---|---|
Category | Transform |
Loaded/Saved | false |
History 2
- 553 Change Default of ExtentsCFrame from to
- 550 Add ExtentsCFrame
ExtentsSize
Type | Default | |
---|---|---|
Vector3 |
The actual physical size of the BasePart as regarded by the physics engine, for example in collision detection.
Thread safety | ReadSafe |
---|---|
Category | Transform |
Loaded/Saved | false |
History 2
- 553 Change Default of ExtentsSize from to
- 550 Add ExtentsSize
FrontSurface
Type | Default | |
---|---|---|
SurfaceType |
The FrontSurface property determines the type of surface used for the -Z direction of a part. When two parts' faces are placed next to each other, they may create a joint between them. If set to Motor, the BasePart.FrontSurfaceInput determines how a motor joint should behave.
Most SurfaceTypes render a texture on the part face if the BasePart.Material is set to Plastic. Some SurfaceTypes including Hinge, Motor, and SteppingMotor render a 3D adornment instead. If this property is selected in the Properties window, it will be highlighted in the game world similar to that of a SurfaceSelection.
Thread safety | ReadSafe |
---|---|
Category | Surface |
Loaded/Saved | true |
History 4
- 553 Change Default of FrontSurface from to
- 486 Change ThreadSafety of FrontSurface from ReadOnly to ReadSafe
- 462 Change ThreadSafety of FrontSurface from to ReadOnly
- 47 Add FrontSurface
GetClosestPointOnSurface
Parameters (1) | ||
---|---|---|
position | Vector3 | |
Returns (1) | ||
Vector3 |
Thread safety | Unsafe |
---|
History 1
GetConnectedParts
Parameters (1) | Default | |
---|---|---|
recursive | bool | false |
Returns (1) | ||
Objects |
Returns a table of parts connected to the object by any kind of rigid joint.
If recursive
is true this function will return all of the parts in the
assembly rigidly connected to the BasePart.
Rigid Joints
When a joint connects two parts together (Part0 → Part1)
, a joint is
rigid if the physics of Part1
are completely locked down by Part0
.
This only applies to the following joint types:
Thread safety | Safe |
---|
History 4
- 486 Change ThreadSafety of GetConnectedParts from ReadOnly to Safe
- 462 Change ThreadSafety of GetConnectedParts from to ReadOnly
- 118 Change Security of GetConnectedParts from RobloxPlaceSecurity to None
- 113 Add GetConnectedParts
GetJoints
Parameters (0) | ||
---|---|---|
No parameters. | ||
Returns (1) | ||
Objects |
Return all Joints or Constraints that is connected to this Part.
Thread safety | Safe |
---|
GetMass
Parameters (0) | ||
---|---|---|
No parameters. | ||
Returns (1) | ||
float |
GetMass returns the value of the read-only Mass property.
This function predates the Mass property. It remains supported for backward-compatibility; you should use the Mass property directly.
Thread safety | Safe |
---|
GetNetworkOwner
Parameters (0) | ||
---|---|---|
No parameters. | ||
Returns (1) | ||
Instance |
Returns the current player who is the network owner of this part, or nil in case of the server.
Thread safety | Safe |
---|
History 3
- 567 Change ThreadSafety of GetNetworkOwner from Unsafe to Safe
- 462 Change ThreadSafety of GetNetworkOwner from to Unsafe
- 200 Add GetNetworkOwner
GetNetworkOwnershipAuto
Parameters (0) | ||
---|---|---|
No parameters. | ||
Returns (1) | ||
bool |
Returns true if the game engine automatically decides the network owner for this part.
Thread safety | Safe |
---|
History 3
- 567 Change ThreadSafety of GetNetworkOwnershipAuto from Unsafe to Safe
- 462 Change ThreadSafety of GetNetworkOwnershipAuto from to Unsafe
- 200 Add GetNetworkOwnershipAuto
GetNoCollisionConstraints
Parameters (0) | ||
---|---|---|
No parameters. | ||
Returns (1) | ||
Objects |
Thread safety | Unsafe |
---|
History 1
GetRenderCFrame
Parameters (0) | ||
---|---|---|
No parameters. | ||
Returns (1) | ||
CFrame |
This function used to be relevant when Roblox's lag-compensating interpolation of parts online was internal. The interpolation is now applied to the CFrame directly.
Thread safety | Unsafe |
---|
History 5
- 462 Change ThreadSafety of GetRenderCFrame from to Unsafe
- 273 Change Tags of GetRenderCFrame from [] to [Deprecated]
- 272 Change Tags of GetRenderCFrame from [Deprecated] to []
- 273 Change Tags of GetRenderCFrame from [] to [Deprecated]
- 187 Add GetRenderCFrame
GetRootPart
Parameters (0) | ||
---|---|---|
No parameters. | ||
Returns (1) | ||
Instance |
Returns the base part of an assembly. When moving an assembly of parts using a CFrame. it is important to move this base part (this will move all other parts connected to it accordingly). More information is available in the Assemblies article.
This function predates the AssemblyRootPart property. It remains supported for backwards compatibility, but you should use AssemblyRootPart directly.
Thread safety | Safe |
---|
History 3
- 486 Change ThreadSafety of GetRootPart from ReadOnly to Safe
- 462 Change ThreadSafety of GetRootPart from to ReadOnly
- 130 Add GetRootPart
GetTouchingParts
Parameters (0) | ||
---|---|---|
No parameters. | ||
Returns (1) | ||
Objects |
Returns a table of all parts that are physically interacting with this part. If the part itself has CanCollide set to false, then this function returns an empty table unless the part has a TouchInterest object parented to it (meaning something is connected to its Touched event). Parts that are adjacent but not intersecting are not considered touching. This function predates the WorldRoot:GetPartsInPart() function, which provides more flexibility and avoids the special TouchInterest rules described above. Use WorldRoot:GetPartsInPart() instead.
Thread safety | Unsafe |
---|
History 2
- 462 Change ThreadSafety of GetTouchingParts from to Unsafe
- 196 Add GetTouchingParts
GetVelocityAtPosition
Parameters (1) | ||
---|---|---|
position | Vector3 | |
Returns (1) | ||
Vector3 |
Returns the linear velocity of the part's assembly at the given position relative to this part. It can be used to identify the linear velocity of parts in an assembly other than the root part. If the assembly has no angular velocity, than the linear velocity will always be the same for every position.
Thread safety | Safe |
---|
History 2
- 557 Change ThreadSafety of GetVelocityAtPosition from Unsafe to Safe
- 464 Add GetVelocityAtPosition
IntersectAsync
Parameters (3) | Default | |
---|---|---|
parts | Objects | |
collisionfidelity | CollisionFidelity | Default |
renderFidelity | RenderFidelity | Automatic |
Returns (1) | ||
Instance |
Creates a new IntersectOperation from the intersecting geometry of the part and the other parts in the given array. Only Parts are supported, not Terrain or MeshParts. Similar to Clone(), the returned object has no set Parent.
The following properties from the calling part are applied to the resulting IntersectOperation:
- Color, Material, MaterialVariant, Reflectance, Transparency
- CanCollide
- Anchored, Density, Elasticity, ElasticityWeight, Friction, FrictionWeight
In the following image comparison, IntersectAsync() is called on the purple block using a table containing the blue block. The resulting IntersectOperation resolves into a shape of the intersecting geometry of both parts.
Notes
- The original parts remain intact following a successful intersect operation. In most cases, you should Destroy() all of the original parts and parent the returned IntersectOperation to the same place as the calling BasePart.
- By default, the face colors of the resulting intersection are borrowed
from the Color property of the original parts. To
change the entire intersection to a specific color, set its
UsePartColor property to
true
. - If an intersect operation would result in a part with more than 20,000 triangles, it will be simplified to 20,000 triangles.
Thread safety | Unsafe |
---|
History 1
- 564 Add IntersectAsync
IsGrounded
Parameters (0) | ||
---|---|---|
No parameters. | ||
Returns (1) | ||
bool |
Returns true if the object is connected to a part that will hold it in place (eg an Anchored part), otherwise returns false. In an assembly that has an Anchored part, every other part is grounded.
Thread safety | Safe |
---|
History 4
- 486 Change ThreadSafety of IsGrounded from ReadOnly to Safe
- 462 Change ThreadSafety of IsGrounded from to ReadOnly
- 118 Change Security of IsGrounded from RobloxPlaceSecurity to None
- 113 Add IsGrounded
LeftSurface
Type | Default | |
---|---|---|
SurfaceType |
The LeftSurface property determines the type of surface used for the -X direction of a part. When two parts' faces are placed next to each other, they may create a joint between them. If set to Motor, the BasePart.LeftSurfaceInput determines how a motor joint should behave.
Most SurfaceTypes render a texture on the part face if the BasePart.Material is set to Plastic. Some SurfaceTypes including Hinge, Motor, and SteppingMotor render a 3D adornment instead. If this property is selected in the Properties window, it will be highlighted in the game world similar to that of a SurfaceSelection.
Thread safety | ReadSafe |
---|---|
Category | Surface |
Loaded/Saved | true |
History 4
- 553 Change Default of LeftSurface from to
- 486 Change ThreadSafety of LeftSurface from ReadOnly to ReadSafe
- 462 Change ThreadSafety of LeftSurface from to ReadOnly
- 47 Add LeftSurface
LocalSimulationTouched
Parameters (1) | |
---|---|
part | BasePart |
Fired when another part comes in contact with another object. This event only sends data to the client notifying it that two parts have collided, whereas BasePart.Touched sends data to the server.
Thread safety | Unsafe |
---|
History 3
- 483 Change Parameters of LocalSimulationTouched from (part: Instance) to (part: BasePart)
- 462 Change ThreadSafety of LocalSimulationTouched from to Unsafe
- 47 Add LocalSimulationTouched
Locked
Type | Default | |
---|---|---|
bool |
The Locked property determines whether a part (or a model it is contained within) may be selected in Roblox Studio by clicking on it. This property is most often enabled on parts within environment models that aren't being edited at the moment. Roblox Studio has a Lock/Unlock All tool that can toggle the Locked state of every part descendant in a model at once.
Thread safety | ReadSafe |
---|---|
Category | Data |
Loaded/Saved | true |
MakeJoints
Parameters (0) | ||
---|---|---|
No parameters. | ||
Returns (1) | ||
null |
Creates a joint on any side of the Part that has a SurfaceType that can make a joint it will create a joint with any adjacent parts.
Joints will be created between the sides and any planar touching surfaces, depending on the sides' surfaces.
- Smooth surfaces will not create joints
- Glue surfaces will create a Glue joint
- Weld will create a Weld joint with any surface except for Unjoinable
- Studs, Inlet, or Universal will each create a Snap joint with either of other the other two surfaces (e.g. Studs with Inlet and Universal)
- Hinge and Motor surfaces create Rotate and RotateV joint instances
Unlike Model:MakeJoints(), this function requires an array of parts as a parameter. This array is given as follows:
part:MakeJoints({part1, part2, part3})
Joints are broken if enough force is applied to them due to an Explosion, unless a ForceField object is parented to the BasePart or ancestor Model. For this reason, they are often used to make simple destructible buildings and other models.
Thread safety | Unsafe |
---|
History 4
- 573 Change ReturnType of MakeJoints from void to null
- 564 Change Tags of MakeJoints from [] to [Deprecated]
- 462 Change ThreadSafety of MakeJoints from to Unsafe
- 47 Add MakeJoints
Mass
Type | Default | |
---|---|---|
float |
Mass is a read-only property that describes the product of a part's volume and density. It is returned by the GetMass function.
- The volume of a part is determined by its Size and its Shape, which varies depending on the kind of BasePart used, such as WedgePart.
- The density of a part is determined by its Material or CustomPhysicalProperties, if specified.
Thread safety | ReadSafe |
---|---|
Category | Part |
Loaded/Saved | false |
Massless
Type | Default | |
---|---|---|
bool |
If this property is enabled, the BasePart will not contribute to the total mass or inertia of its assembly as long as it is welded to another part that has mass.
If the part is its own root part according to AssemblyRootPart, this will be ignored for that part, and it will still contribute mass and inertia to its assembly like a normal part. Parts that are massless should never become an assembly root part unless all other parts in the assembly are also massless.
This might be useful for things like optional accessories on vehicles that you don't want to affect the handling of the car or a massless render mesh welded to a simpler collision mesh.
See also Assemblies, an article documenting what root parts are and how to use them.
Thread safety | ReadSafe |
---|---|
Category | Part |
Loaded/Saved | true |
Material
Type | Default | |
---|---|---|
Material |
The Material property allows a builder to set a part's texture and default physical properties (in the case that BasePart.CustomPhysicalProperties is unset). The default Plastic material has a very light texture, and the SmoothPlastic material has no texture at all. Some material textures like DiamondPlate and Granite have very visible textures. Each material's texture reflects sunlight differently, especially Foil.
Setting this property then enabling BasePart.CustomPhysicalProperties will use the default physical properties of a material. For instance, DiamondPlate is a very dense material while Wood is very light. A part's density determines whether it will float in terrain water.
The Glass material changes rendering behavior on moderate graphics settings. It applies a bit of reflectiveness (similar to BasePart.Reflectance) and perspective distortion. The effect is especially pronounced on sphere-shaped parts (set BasePart.Shape to Ball). Semitransparent objects and Glass parts behind Glass are not visible.
Thread safety | ReadSafe |
---|---|
Category | Appearance |
Loaded/Saved | true |
MaterialVariant
Type | Default | |
---|---|---|
string |
The system searches the MaterialVariant instance with specified MaterialVariant name and BasePart.Material type. If it successfully finds a matching MaterialVariant instance, it uses this MaterialVariant instance to replace the default material. Default material can be the built-in material or an override MaterialVariant specified in MaterialService.
Thread safety | ReadSafe |
---|---|
Category | Appearance |
Loaded/Saved | false |
History 4
- 553 Change Default of MaterialVariant from to
- 517 Add MaterialVariant
- 499 Remove MaterialVariant
- 494 Add MaterialVariant
OutfitChanged
Parameters (0) | ||
---|---|---|
No parameters. |
Fired if the part's appearance is affected by the Shirt class.
Thread safety | Unsafe |
---|
History 2
- 462 Change ThreadSafety of OutfitChanged from to Unsafe
- 47 Add OutfitChanged
PivotOffset
Type | Default | |
---|---|---|
CFrame |
This property specifies the offset of the part's pivot from its
CFrame, that is part:GetPivot()
is the same as
part.CFrame * part.PivotOffset
.
This is convenient for setting the pivot to a location in local space, but setting a part's pivot to a location in world space can be done as follows:
local part = workspace.BluePart
local desiredPivotCFrameInWorldSpace = CFrame.new(0, 10, 0)
part.PivotOffset = part.CFrame:ToObjectSpace(desiredPivotCFrameInWorldSpace)
Thread safety | ReadSafe |
---|---|
Category | Pivot |
Loaded/Saved | true |
History 4
- 553 Change Default of PivotOffset from to
- 550 Change Category of PivotOffset from Transform to Pivot
- 486 Change ThreadSafety of PivotOffset from ReadOnly to ReadSafe
- 470 Add PivotOffset
Reflectance
Type | Default | |
---|---|---|
float |
The Reflectance property determines how much a part reflects the skybox. A value of 0 indicates the part is not reflective at all, and a value of 1 indicates the part should fully reflect.
Reflectance is not affected by BasePart.Transparency, unless the part is fully transparent, in which case reflectance will not render at all. Reflectance may or may not be ignored depending on the BasePart.Material of the part.
Thread safety | ReadSafe |
---|---|
Category | Appearance |
Loaded/Saved | true |
History 4
- 553 Change Default of Reflectance from to
- 486 Change ThreadSafety of Reflectance from ReadOnly to ReadSafe
- 462 Change ThreadSafety of Reflectance from to ReadOnly
- 47 Add Reflectance
Resize
Parameters (2) | ||
---|---|---|
normalId | NormalId | |
deltaAmount | int | |
Returns (1) | ||
bool |
Changes the size of an object just like using the Studio resize tool.
Thread safety | Unsafe |
---|
ResizeIncrement
Type | Default | |
---|---|---|
int |
The ResizeIncrement property is a read-only property that describes the smallest change in size allowable by the BasePart:Resize() method. It differs between implementations of the BasePart abstract class. For instance, Part has this set to 1 and TrussPart has this set to 2 (since individual truss sections are 2x2x2 in size).
Thread safety | ReadSafe |
---|---|
Category | Data |
Loaded/Saved | false |
History 5
- 553
Change Default of ResizeIncrement
from