Workspace
Workspace houses 3D objects which are rendered to the 3D world. Objects not descending from it will not be rendered or physically interact with the world.
Memory category | PhysicsParts |
---|
Member index 60
Removed member index 32
Description
The core job of Workspace is to hold objects that exist in the 3D world, effectively BaseParts and Attachments. While such objects are descendant of Workspace, they will be active. For BaseParts, this means they will be rendered, and physically interact with other parts and the world. For Attachments, this means that objects adorned to them, such as ParticleEmitters, Beams, and BillboardGuis, will render.
Understanding this behavior is important, as it means objects can be removed from Workspace when they are not needed. For example, map Models can be removed from the Workspace when a different map is being played on. Objects that are not immediately needed in the 3D world are generally stored in ReplicatedStorage or ServerStorage.
In its role as the holder of active 3D objects, Workspace includes a number of useful functions related to parts, their positions, and joints between them.
Accessing the Workspace
Workspace can be accessed several ways, all of which are valid.
workspace
game.Workspace
game:GetService("Workspace")
Notes
- Objects that require adornment, such as ParticleEmitters and BillboardGuis, will be at the 0, 0, 0 position when parented to Workspace without an adornee otherwise being set.
- The Model:MakeJoints() and Model:BreakJoints() methods inherited from the Model class are overridden by Workspace:MakeJoints() and Workspace:BreakJoints() which can only be used in plugins.
- It is impossible to delete Workspace.
- Workspace automatically cleans up BaseParts that fall beneath FallenPartsDestroyHeight.
- A client's current Camera object can be accessed using the Workspace.CurrentCamera property.
- The Terrain object can be accessed using the Workspace.Terrain property.
History 284
- 654 Remove CSGAsyncDynamicCollision
- 652 Change Tags of PathfindingUseImprovedSearch from [NotScriptable, NotBrowsable] to [NotScriptable]
- 650 Add TouchEventsUseCollisionGroups
- 649 Remove DecreaseMinimumPartDensityMode
- 648 Change Parameters of UnjoinFromOutsiders from (objects: Objects) to (objects: Instances)
- 648 Change Parameters of MakeJoints from (objects: Objects) to (objects: Instances)
- 648 Change Parameters of JoinToOutsiders from (objects: Objects, jointType: JointCreationMode) to (objects: Instances, jointType: JointCreationMode)
- 648 Change Parameters of BreakJoints from (objects: Objects) to (objects: Instances)
- 648 Add SandboxedInstanceMode
- 640 Add PathfindingUseImprovedSearch
- 629 Remove EditorLiveScripting
- 628 Add MoverConstraintRootBehavior
- 624 Change Tags of RenderingCacheOptimizations from [Hidden] to [NotScriptable]
- 624 Change CanSave of RenderingCacheOptimizations from false to true
- 624 Change CanLoad of RenderingCacheOptimizations from false to true
- 623 Add RenderingCacheOptimizations
- 620 Add InsertPoint
- 617 Change Tags of from [] to [Hidden, NotReplicated, Deprecated]
- 617 Change CanLoad of from true to false
- 617 Change CanSave of from true to false
- 617 Add DecreaseMinimumPartDensityMode
- 615 Add CSGAsyncDynamicCollision
- 603 Add SetAvatarUnificationMode
- 603 Add PlayerCharacterDestroyBehavior
- 600 Add PrimalPhysicsSolver
- 600 Remove NewPhysicsSolver
- 599 Add NewPhysicsSolver
- 596 Add EditorLiveScripting
- 595 Remove HumanoidOnlySetCollisionsOnStateChange
- 594 Change Tags of from [Hidden, WriteOnly, NotReplicated, NotScriptable] to [Hidden, NotReplicated, NotScriptable]
- 587 Add FluidForces
- 587 Remove EnableFluidForces
- 581 Add IKControlConstraintSupport
- 581 Add EnableFluidForces
- 581 Add AirDensity
- 580 Add ModelStreamingBehavior
- 573 Change ReturnType of ZoomToExtents from void to null
- 573 Change ReturnType of UnjoinFromOutsiders from void to null
- 573 Change ReturnType of SetPhysicsThrottleEnabled from void to null
- 573 Change ReturnType of SetMeshPartHeadsAndAccessories from void to null
- 573 Change ReturnType of MakeJoints from void to null
- 573 Change ReturnType of JoinToOutsiders from void to null
- 573 Change ReturnType of BreakJoints from void to null
- 572 Add AvatarUnificationMode
- 570 Add
- 570 Change CanLoad of SignalBehavior from true to false
- 570 Change CanSave of SignalBehavior from true to false
- 566 Change ThreadSafety of GetServerTimeNow from Unsafe to Safe
- 566 Change ThreadSafety of GetPhysicsThrottling from Unsafe to Safe
- 566 Change ThreadSafety of GetNumAwakeParts from Unsafe to Safe
- 565 Remove AnimationWeightedBlendFix
- 564 Change Tags of MakeJoints from [] to [Deprecated]
- 564 Change Tags of BreakJoints from [] to [Deprecated]
- 560 Remove UnionsScaleNonuniformly
- 557 Add RejectCharacterDeletions
- 554 Remove RejectCharacterDeletions
- 555 Add RejectCharacterDeletions
- 553 Change Default of UnionsScaleNonuniformly from to
- 553 Change Default of TouchesUseCollisionGroups from to
- 553 Add
- 553 Change Default of Terrain from to
- 553 Change Default of StreamingTargetRadius from to
- 553 Add
- 553 Change Default of StreamingMinRadius from to
- 553 Change Default of StreamingIntegrityMode from to
- 553 Change Default of StreamingEnabled from to
- 553 Change Default of StreamOutBehavior from to
- 553 Change Default of SignalBehavior from to
- 553 Change Default of Retargeting from to
- 553 Change Default of ReplicateInstanceDestroySetting from to
- 553 Change Default of PhysicsSteppingMethod from to
- 553 Change Default of MeshPartHeadsAndAccessories from to
- 553 Change Default of from to
- 553 Change Default of HumanoidOnlySetCollisionsOnStateChange from to
- 553 Change Default of Gravity from to
- 553 Change Default of GlobalWind from to
- 553 Change Default of from to
- 553 Change Default of FallenPartsDestroyHeight from to
- 553 Add
- 553 Change Default of DistributedGameTime from to
- 553 Add
- 553 Change Default of CurrentCamera from to
- 553 Add
- 553 Add
- 553 Change Default of ClientAnimatorThrottling from to
- 553 Change Default of AnimationWeightedBlendFix from to
- 553 Change Default of AllowThirdPartySales from to
- 548 Add PersistentLoaded
- 548 Remove
- 541 Add StreamingIntegrityMode
- 539 Remove PhysicsInertiaAndVolumeFix
- 538 Change ThreadSafety of GetRealPhysicsFPS from Unsafe to Safe
- 538 Remove
- 535 Add UnionsScaleNonuniformly
- 527 Add PhysicsInertiaAndVolumeFix
- 513 Add ReplicateInstanceDestroySetting
- 512 Add GlobalWind
- 494 Add Retargeting
- 491 Change Category of StreamingTargetRadius from Behavior to Streaming
- 491 Change Category of from Behavior to Streaming
- 491 Change Category of StreamingMinRadius from Behavior to Streaming
- 491 Change Category of StreamingEnabled from Behavior to Streaming
- 491 Add StreamOutBehavior
- 488 Add GetServerTimeNow
- 486 Change ThreadSafety of TouchesUseCollisionGroups from ReadOnly to ReadSafe
- 486 Change ThreadSafety of Terrain from ReadOnly to ReadSafe
- 486 Change ThreadSafety of StreamingTargetRadius from ReadOnly to ReadSafe
- 486 Change ThreadSafety of from ReadOnly to ReadSafe
- 486 Change ThreadSafety of StreamingMinRadius from ReadOnly to ReadSafe
- 486 Change ThreadSafety of StreamingEnabled from ReadOnly to ReadSafe
- 486 Change ThreadSafety of SignalBehavior from ReadOnly to ReadSafe
- 486 Change ThreadSafety of PhysicsSteppingMethod from ReadOnly to ReadSafe
- 486 Change ThreadSafety of from ReadOnly to ReadSafe
- 486 Change ThreadSafety of MeshPartHeadsAndAccessories from ReadOnly to ReadSafe
- 486 Change ThreadSafety of from ReadOnly to ReadSafe
- 486 Change ThreadSafety of HumanoidOnlySetCollisionsOnStateChange from ReadOnly to ReadSafe
- 486 Change ThreadSafety of Gravity from ReadOnly to ReadSafe
- 486 Change ThreadSafety of from ReadOnly to ReadSafe
- 486 Change ThreadSafety of FallenPartsDestroyHeight from ReadOnly to ReadSafe
- 486 Change ThreadSafety of DistributedGameTime from ReadOnly to ReadSafe
- 486 Change ThreadSafety of CurrentCamera from ReadOnly to ReadSafe
- 486 Change ThreadSafety of ClientAnimatorThrottling from ReadOnly to ReadSafe
- 486 Change ThreadSafety of AnimationWeightedBlendFix from ReadOnly to ReadSafe
- 486 Change ThreadSafety of AllowThirdPartySales from ReadOnly to ReadSafe
- 485 Add HumanoidOnlySetCollisionsOnStateChange
- 483 Change ValueType of Terrain from Instance to Terrain
- 483 Change Tags of from [Deprecated] to [Hidden, NotReplicated, Deprecated]
- 483 Change CanSave of from true to false
- 483 Change CanLoad of from true to false
- 478 Change Tags of from [] to [Deprecated]
- 478 Add AnimationWeightedBlendFix
- 475 Add ClientAnimatorThrottling
- 473 Add SignalBehavior
- 466 Add SetMeshPartHeadsAndAccessories
- 466 Remove SetMeshPartHeads
- 466 Add MeshPartHeadsAndAccessories
- 466 Remove MeshPartHeads
- 464 Add PhysicsSteppingMethod
- 462 Change ThreadSafety of ZoomToExtents from to Unsafe
- 462 Change ThreadSafety of UnjoinFromOutsiders from to Unsafe
- 462 Change ThreadSafety of SetPhysicsThrottleEnabled from to Unsafe
- 462 Change ThreadSafety of SetMeshPartHeads from to Unsafe
- 462 Change ThreadSafety of PGSIsEnabled from to Unsafe
- 462 Change ThreadSafety of MakeJoints from to Unsafe
- 462 Change ThreadSafety of JoinToOutsiders from to Unsafe
- 462 Change ThreadSafety of GetRealPhysicsFPS from to Unsafe
- 462 Change ThreadSafety of GetPhysicsThrottling from to Unsafe
- 462 Change ThreadSafety of GetNumAwakeParts from to Unsafe
- 462 Change ThreadSafety of ExperimentalSolverIsEnabled from to Unsafe
- 462 Change ThreadSafety of CalculateJumpPower from to Unsafe
- 462 Change ThreadSafety of CalculateJumpHeight from to Unsafe
- 462 Change ThreadSafety of CalculateJumpDistance from to Unsafe
- 462 Change ThreadSafety of BreakJoints from to Unsafe
- 462 Change ThreadSafety of TouchesUseCollisionGroups from to ReadOnly
- 462 Change ThreadSafety of Terrain from to ReadOnly
- 462 Change ThreadSafety of StreamingTargetRadius from to ReadOnly
- 462 Change ThreadSafety of from to ReadOnly
- 462 Change ThreadSafety of StreamingMinRadius from to ReadOnly
- 462 Change ThreadSafety of StreamingEnabled from to ReadOnly
- 462 Change ThreadSafety of from to ReadOnly
- 462 Change ThreadSafety of MeshPartHeads from to ReadOnly
- 462 Change ThreadSafety of from to ReadOnly
- 462 Change ThreadSafety of Gravity from to ReadOnly
- 462 Change ThreadSafety of from to ReadOnly
- 462 Change ThreadSafety of FallenPartsDestroyHeight from to ReadOnly
- 462 Change ThreadSafety of DistributedGameTime from to ReadOnly
- 462 Change ThreadSafety of CurrentCamera from to ReadOnly
- 462 Change ThreadSafety of AllowThirdPartySales from to ReadOnly
- 460 Add TouchesUseCollisionGroups
- 459 Add SetMeshPartHeads
- 458 Remove SetMeshPartHeads
- 459 Add SetMeshPartHeads
- 454 Change MemoryCategory of Workspace from Instances to PhysicsParts
- 452 Change MemoryCategory of Workspace from PhysicsParts to Instances
- 453 Change MemoryCategory of Workspace from Instances to PhysicsParts
- 449 Add MeshPartHeads
- 448 Add
- 443 Remove TemporaryLegacyPhysicsSolverOverride
- 442 Add TemporaryLegacyPhysicsSolverOverride
- 443 Remove TemporaryLegacyPhysicsSolverOverride
- 442 Remove SkinnedMeshEnabled
- 440 Add SkinnedMeshEnabled
- 437 Add
- 433 Add CalculateJumpHeight
- 433 Add CalculateJumpDistance
- 421 Change WriteSecurity of StreamingEnabled from None to PluginSecurity
- 410 Remove findPartsInRegion3
- 410 Remove findPartOnRay
- 410 Remove IsRegion3EmptyWithIgnoreList
- 410 Remove IsRegion3Empty
- 410 Remove FindPartsInRegion3WithWhiteList
- 410 Remove FindPartsInRegion3WithIgnoreList
- 410 Remove FindPartsInRegion3
- 410 Remove FindPartOnRayWithWhitelist
- 410 Remove FindPartOnRayWithIgnoreList
- 410 Remove FindPartOnRay
- 410 Change Superclass of Workspace from Model to WorldRoot
- 396 Remove AutoJointsMode
- 384 Add
- 375 Add CalculateJumpPower
- 373 Remove PGSPhysicsSolverEnabled
- 372 Change Tags of StreamingEnabled from [NotReplicated] to []
- 369 Remove PhysicsAnalyzerIssuesFound
- 369 Remove SetPhysicsAnalyzerBreakOnIssue
- 369 Remove GetPhysicsAnalyzerIssue
- 369 Remove GetPhysicsAnalyzerBreakOnIssue
- 362 Add StreamingTargetRadius
- 362 Add StreamingMinRadius
- 359 Change Tags of TemporaryLegacyPhysicsSolverOverride from [NotReplicated] to [NotReplicated, NotScriptable]
- 351 Change Superclass of Workspace from RootInstance to Model
- 350 Change Superclass of Workspace from Model to RootInstance
- 351 Change Superclass of Workspace from RootInstance to Model
- 349 Add TemporaryLegacyPhysicsSolverOverride
- 349 Add PGSPhysicsSolverEnabled
- 349 Add AutoJointsMode
- 329 Change ValueType of Terrain from Object to Instance
- 329 Change ValueType of CurrentCamera from Object to Camera
- 298 Change Parameters of findPartsInRegion3 from (region: Region3, ignoreDescendentsInstance: Instance = Instance, maxParts: int = 20) to (region: Region3, ignoreDescendantsInstance: Instance = Instance, maxParts: int = 20)
- 298 Change Parameters of findPartOnRay from (ray: Ray, ignoreDescendentsInstance: Instance = Instance, terrainCellsAreCubes: bool = false, ignoreWater: bool = false) to (ray: Ray, ignoreDescendantsInstance: Instance = Instance, terrainCellsAreCubes: bool = false, ignoreWater: bool = false)
- 298 Add FindPartsInRegion3WithWhiteList
- 298 Change Parameters of FindPartsInRegion3WithIgnoreList from (region: Region3, ignoreDescendentsTable: Objects, maxParts: int = 20) to (region: Region3, ignoreDescendantsTable: Objects, maxParts: int = 20)
- 298 Change Parameters of FindPartsInRegion3 from (region: Region3, ignoreDescendentsInstance: Instance = Instance, maxParts: int = 20) to (region: Region3, ignoreDescendantsInstance: Instance = Instance, maxParts: int = 20)
- 298 Change Parameters of FindPartOnRayWithWhitelist from (ray: Ray, whitelistDescendentsTable: Objects, ignoreWater: bool = false) to (ray: Ray, whitelistDescendantsTable: Objects, ignoreWater: bool = false)
- 298 Change Parameters of FindPartOnRayWithIgnoreList from (ray: Ray, ignoreDescendentsTable: Objects, terrainCellsAreCubes: bool = false, ignoreWater: bool = false) to (ray: Ray, ignoreDescendantsTable: Objects, terrainCellsAreCubes: bool = false, ignoreWater: bool = false)
- 298 Change Parameters of FindPartOnRay from (ray: Ray, ignoreDescendentsInstance: Instance = Instance, terrainCellsAreCubes: bool = false, ignoreWater: bool = false) to (ray: Ray, ignoreDescendantsInstance: Instance = Instance, terrainCellsAreCubes: bool = false, ignoreWater: bool = false)
- 298 Add FallenPartsDestroyHeight
- 281 Change WriteSecurity of from None to PluginSecurity
- 262 Add FindPartOnRayWithWhitelist
- 241 Add Gravity
- 236 Add PhysicsAnalyzerIssuesFound
- 236 Add SetPhysicsAnalyzerBreakOnIssue
- 236 Add GetPhysicsAnalyzerIssue
- 236 Add GetPhysicsAnalyzerBreakOnIssue
- 223 Add PGSIsEnabled
- 222 Remove PGSIsEnabled
- 223 Add PGSIsEnabled
- 221 Add AllowThirdPartySales
- 198 Add ExperimentalSolverIsEnabled
- 196 Add UnjoinFromOutsiders
- 196 Add JoinToOutsiders
- 195 Change Parameters of findPartOnRay from (ray: Ray, ignoreDescendentsInstance: Instance = Instance, terrainCellsAreCubes: bool = false) to (ray: Ray, ignoreDescendentsInstance: Instance = Instance, terrainCellsAreCubes: bool = false, ignoreWater: bool = false)
- 195 Change Parameters of FindPartOnRayWithIgnoreList from (ray: Ray, ignoreDescendentsTable: Objects, terrainCellsAreCubes: bool = false) to (ray: Ray, ignoreDescendentsTable: Objects, terrainCellsAreCubes: bool = false, ignoreWater: bool = false)
- 195 Change Parameters of FindPartOnRay from (ray: Ray, ignoreDescendentsInstance: Instance = Instance, terrainCellsAreCubes: bool = false) to (ray: Ray, ignoreDescendentsInstance: Instance = Instance, terrainCellsAreCubes: bool = false, ignoreWater: bool = false)
- 163 Remove InsertContent
- 151 Change Security of ZoomToExtents from LocalUserSecurity to PluginSecurity
- 151 Change Security of MakeJoints from LocalUserSecurity to PluginSecurity
- 151 Change Security of BreakJoints from LocalUserSecurity to PluginSecurity
- 147 Change Tags of from [Hidden] to []
- 136 Add
- 132 Add StreamingEnabled
- 115 Add GetNumAwakeParts
- 95 Add GetRealPhysicsFPS
- 95 Add GetPhysicsThrottling
- 94 Remove GetRealPhysicsFPS
- 94 Remove GetPhysicsThrottling
- 95 Add GetRealPhysicsFPS
- 95 Add GetPhysicsThrottling
- 94 Remove GetRealPhysicsFPS
- 94 Remove GetPhysicsThrottling
- 95 Add GetRealPhysicsFPS
- 95 Add GetPhysicsThrottling
- 55 Change Tags of FindPartsInRegion3WithIgnoreList from [preliminary] to []
- 55 Change Tags of FindPartsInRegion3 from [preliminary] to []
- 55 Change Tags of FindPartOnRayWithIgnoreList from [preliminary] to []
- 55 Change Tags of FindPartOnRay from [preliminary] to []
- 52 Add findPartOnRay
- 50 Add findPartsInRegion3
- 49 Remove
- 48 Add IsRegion3EmptyWithIgnoreList
- 48 Add FindPartsInRegion3WithIgnoreList
- 48 Add FindPartOnRayWithIgnoreList
- 48 Add
- 47 Add ZoomToExtents
- 47 Add SetPhysicsThrottleEnabled
- 47 Add MakeJoints
- 47 Add IsRegion3Empty
- 47 Add InsertContent
- 47 Add FindPartsInRegion3
- 47 Add FindPartOnRay
- 47 Add BreakJoints
- 47 Add Terrain
- 47 Add DistributedGameTime
- 47 Add CurrentCamera
- 47 Add Workspace
Members 60
AirDensity
Type | Default | |
---|---|---|
float |
The ground level (Y of 0) air density in RMU/stud³ units (see Roblox Units), used to calculate the aerodynamic force if Workspace.FluidForces is Experimental. The default corresponds to realistic sea level air density at standard temperature and pressure. Air density decays as the Y altitude increases, reaching 5% of its ground level value at 100,000 studs. Below Y of 0, the air density is fixed at the input value.
Thread safety | ReadSafe |
---|---|
Category | AirProperties |
Loaded/Saved | true |
History 1
- 581 Add AirDensity
AllowThirdPartySales
Type | Default | |
---|---|---|
bool |
This Workspace property determines whether assets created by other uses can be sold in the game.
What are third party sales?
When this value is false, as it is by default, only assets created by the place creator (be it a player or a group) and Roblox can be sold using MarketplaceService.
In most cases, games do not need to sell third party assets. However, some games such as trade hangouts require this feature and therefore it exists as an opt-in option.
What third party products can I sell?
Note, developer products can only be sold in the game they are associated with, regardless of what AllowThirdPartySales is set to. This property affects Game Passes and clothing.
Thread safety | ReadSafe |
---|---|
Category | Behavior |
Loaded/Saved | true |
History 4
- 553 Change Default of AllowThirdPartySales from to
- 486 Change ThreadSafety of AllowThirdPartySales from ReadOnly to ReadSafe
- 462 Change ThreadSafety of AllowThirdPartySales from to ReadOnly
- 221 Add AllowThirdPartySales
AvatarUnificationMode
Type | Default | |
---|---|---|
AvatarUnificationMode |
Thread safety | ReadSafe |
---|---|
Category | Behavior |
Loaded/Saved | true |
History 1
BreakJoints
Parameters (1) | ||
---|---|---|
objects | Instances | |
Returns (1) | ||
null |
Goes through all BaseParts given, breaking any joints connected to these parts. This function will break any of the following types of joints:
- JointInstances such as Welds
- WeldConstraints
Unlike Model:MakeJoints(), this function requires an array of BaseParts as a parameter. This array is given as follows:
1
|
|
Note, this function cannot be used by scripts and will only function in plugins.
Security | PluginSecurity |
---|---|
Thread safety | Unsafe |
History 6
- 648 Change Parameters of BreakJoints from (objects: Objects) to (objects: Instances)
- 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
- 151 Change Security of BreakJoints from LocalUserSecurity to PluginSecurity
- 47 Add BreakJoints
CalculateJumpDistance
Parameters (3) | ||
---|---|---|
gravity | float | |
jumpPower | float | |
walkSpeed | float | |
Returns (1) | ||
float |
Security | RobloxScriptSecurity |
---|---|
Thread safety | Unsafe |
History 2
- 462 Change ThreadSafety of CalculateJumpDistance from to Unsafe
- 433 Add CalculateJumpDistance
CalculateJumpHeight
Parameters (2) | ||
---|---|---|
gravity | float | |
jumpPower | float | |
Returns (1) | ||
float |
Security | RobloxScriptSecurity |
---|---|
Thread safety | Unsafe |
History 2
- 462 Change ThreadSafety of CalculateJumpHeight from to Unsafe
- 433 Add CalculateJumpHeight
CalculateJumpPower
Parameters (2) | ||
---|---|---|
gravity | float | |
jumpHeight | float | |
Returns (1) | ||
float |
Security | RobloxScriptSecurity |
---|---|
Thread safety | Unsafe |
History 2
- 462 Change ThreadSafety of CalculateJumpPower from to Unsafe
- 375 Add CalculateJumpPower
ClientAnimatorThrottling
Type | Default | |
---|---|---|
ClientAnimatorThrottlingMode |
Specifies the ClientAnimatorThrottlingMode to use for the local client.
When enabled, animations on remotely-simulated Model instances will begin to throttle. The throttler calculates throttling intensity using:
Thread safety | ReadSafe |
---|---|
Category | Behavior |
Loaded/Saved | true |
History 3
- 553 Change Default of ClientAnimatorThrottling from to
- 486 Change ThreadSafety of ClientAnimatorThrottling from ReadOnly to ReadSafe
- 475 Add ClientAnimatorThrottling
CurrentCamera
Type | Default | |
---|---|---|
Camera |
The Camera object being used by the local player.
How to use CurrentCamera
When looking for a client's Camera object, use this property rather than looking for a child of Workspace named "Camera".
When you set this property, all other Camera
objects in the Workspace
are destroyed, including the previous CurrentCamera
. If you set this
property to nil or to a camera that is not a descendant of the Workspace
(or the CurrentCamera
is otherwise destroyed), a new Camera
will be
created and assigned. Avoid these scenarios, as destroying the camera can
have unintended consequences.
For more information, see Scripting the Camera.
Thread safety | ReadSafe |
---|---|
Category | Data |
Loaded/Saved | true |
History 5
- 553 Change Default of CurrentCamera from to
- 486 Change ThreadSafety of CurrentCamera from ReadOnly to ReadSafe
- 462 Change ThreadSafety of CurrentCamera from to ReadOnly
- 329 Change ValueType of CurrentCamera from Object to Camera
- 47 Add CurrentCamera
DistributedGameTime
Type | Default | |
---|---|---|
double |
The amount of time, in seconds, that the game has been running.
Despite the title, this value is currently not 'Distributed' across the client and the server. Instead, on the server it represents how long the server has been running. On the client, it represents how long the client has been connected to the server.
Developers should not rely on the above behavior, and it is possible this property will be synchronized across clients and the server in the future.
Those looking for the time since the program started running should use the 'time' function instead. See below for a comparison between DistributedGameTime and its alternatives.
print(workspace.DistributedGameTime) --> Time the game started running
print(os.time()) --> Time since epoch (1 January 1970, 00:00:00) UTC
print(tick()) --> Time since epoch (1 January 1970, 00:00:00) system time
print(time()) --> Time the game started running
print(elapsedTime()) --> Time since Roblox started running
Thread safety | ReadSafe |
---|---|
Category | Data |
Loaded/Saved | true |
History 4
- 553 Change Default of DistributedGameTime from to
- 486 Change ThreadSafety of DistributedGameTime from ReadOnly to ReadSafe
- 462 Change ThreadSafety of DistributedGameTime from to ReadOnly
- 47 Add DistributedGameTime
ExperimentalSolverIsEnabled
Parameters (0) | ||
---|---|---|
No parameters. | ||
Returns (1) | ||
bool |
Security | LocalUserSecurity |
---|---|
Thread safety | Unsafe |
History 2
- 462 Change ThreadSafety of ExperimentalSolverIsEnabled from to Unsafe
- 198 Add ExperimentalSolverIsEnabled
FallenPartsDestroyHeight
Type | Default | |
---|---|---|
float |
This property determines the height at which the Roblox engine
automatically removes falling BaseParts and their
ancestor Models from Workspace by parenting them to
nil
. This is to prevent parts that have fallen off the map from
continuing to fall forever.
If a part removed due to this behavior is the last part in a Model, that model will also be removed. This applies to all model ancestors of the part.
This property is clamped between -50,000 and 50,000 because BaseParts do not simulate or render properly at a great distance from the origin due to floating point inaccuracies.
This property can be read by scripts, but can only be set by plugins, the command bar, or the properties window in Studio.
Write security | PluginSecurity |
---|---|
Thread safety | ReadSafe |
Category | Behavior |
Loaded/Saved | true |
History 4
- 553 Change Default of FallenPartsDestroyHeight from to
- 486 Change ThreadSafety of FallenPartsDestroyHeight from ReadOnly to ReadSafe
- 462 Change ThreadSafety of FallenPartsDestroyHeight from to ReadOnly
- 298 Add FallenPartsDestroyHeight
FluidForces
Type | Default | |
---|---|---|
FluidForces |
With this property enabled, the physics engine computes aerodynamic forces on BaseParts whose EnableFluidForces property is true. The default, Default, disables aerodynamic forces. Note that this property cannot be set through scripting and instead must be toggled in Studio.
Thread safety | ReadSafe |
---|---|
Category | Behavior |
Loaded/Saved | true |
History 1
- 587 Add FluidForces
GetNumAwakeParts
Parameters (0) | ||
---|---|---|
No parameters. | ||
Returns (1) | ||
int |
Returns the number of BaseParts that are deemed physically active, due to being recently under the influence of physics.
This function provides a measure of how many BaseParts are being influenced by, or recently under the influence of, physical forces.
print(workspace:GetNumAwakeParts()) -- prints the number of 'awake' parts
Sleeping vs Awake Parts
In order to ensure good performance, Roblox sets BaseParts
in which
physics are not being applied to a 'sleeping' state.
BaseParts with BasePart.Anchored set to true, for
example, will always be sleeping as physics doesn't apply to them. When a
force is applied to a non anchored BasePart, an 'awake' state will
be applied. Whilst a BasePart is awake the Roblox physics engine
will perform continuous calculations to ensure physical forces interact
correctly with the part. Once the BasePart is no longer subject to
physical forces, it will revert to a 'sleeping' state.
Thread safety | Safe |
---|
History 3
- 566 Change ThreadSafety of GetNumAwakeParts from Unsafe to Safe
- 462 Change ThreadSafety of GetNumAwakeParts from to Unsafe
- 115 Add GetNumAwakeParts
GetPhysicsThrottling
Parameters (0) | ||
---|---|---|
No parameters. | ||
Returns (1) | ||
int |
Returns an integer, between 0 and 100, representing the percentage of real-time that physics simulation is currently being throttled to.
This function can be used to determine whether, and to what degree, physics throttling is occurring.
What is physics throttling?
Physics throttling occurs when the physics engine detects it cannot keep up with the game in realtime. When physics is being throttled, it will update less frequently causing BaseParts to appear to move slower.
Without throttling, the physics simulation would fall further behind out of sync with the game. This can lead to lower frame rates and other undesirable behavior.
Objects associated with Humanoids are exempt from physics throttling.
See also Workspace:SetPhysicsThrottleEnabled().
Demonstrating physics throttling
Developers should always avoid creating places that overload the physics engine, as it leads to sub-par experience for players. Those wishing to simulate physics throttling for research purposes however, need only create a lot of Parts very quickly.
local i = 0
while true do
i += 1
if i % 5 == 0 then
task.wait()
end
local part = Instance.new("Part", workspace)
end
Thread safety | Safe |
---|
History 7
- 566 Change ThreadSafety of GetPhysicsThrottling from Unsafe to Safe
- 462 Change ThreadSafety of GetPhysicsThrottling from to Unsafe
- 95 Add GetPhysicsThrottling
- 94 Remove GetPhysicsThrottling
- 95 Add GetPhysicsThrottling
- 94 Remove GetPhysicsThrottling
- 95 Add GetPhysicsThrottling
GetRealPhysicsFPS
Parameters (0) | ||
---|---|---|
No parameters. | ||
Returns (1) | ||
double |
Returns the number of frames per second that physics is currently being simulated at.
Using GetRealPhysicsFPS to combat exploiters
A common use of this function is to detect if exploiters are increasing their local physics frame rate to move faster. This is generally done by comparing the result returned by a client's GetRealPhysicsFPS to a maximum that will not be breached in normal circumstances (usually 65 or 70). If this limit is breached, developers can use the Player:Kick() function to remove that Player from the game. It is important to remember that, although this practice may be effective sometimes, client-side anti-exploiter measures are never 100% reliable.
Thread safety | Safe |
---|
History 7
- 538 Change ThreadSafety of GetRealPhysicsFPS from Unsafe to Safe
- 462 Change ThreadSafety of GetRealPhysicsFPS from to Unsafe
- 95 Add GetRealPhysicsFPS
- 94 Remove GetRealPhysicsFPS
- 95 Add GetRealPhysicsFPS
- 94 Remove GetRealPhysicsFPS
- 95 Add GetRealPhysicsFPS
GetServerTimeNow
Parameters (0) | ||
---|---|---|
No parameters. | ||
Returns (1) | ||
double |
GetServerTimeNow() returns the client's best approximation of the current time on the server. This is useful for creating synchronized experiences as every client will get about the same results regardless of their timezone or local clock.
This returns a Unix timestamp, similar to os.time(), that can be used with os.date() or with DateTime.fromUnixTimestamp().
The timestamp returned by this function is smoothed so that:
- It is monotonic; its value will never decrease.
- It moves at the same rate as the local clock to within 0.6%.
GetServerTimeNow() is expensive to call compared to DateTime.now(), and is less precise than os.clock(), so it should be used to make sure an event starts at the right real world time or to adjust things periodically to keep a series of events in sync.
This function relies on the server, so calling it from a client that isn't connected will throw an error. Also note that this function is not suitable for things like timed rewards as it is not secure compared to tracking such timers on the server.
See also:
- DistributedGameTime, a game-time clock
- os.time()
- DateTime
Thread safety | Safe |
---|
History 2
- 566 Change ThreadSafety of GetServerTimeNow from Unsafe to Safe
- 488 Add GetServerTimeNow
GlobalWind
Type | Default | |
---|---|---|
Vector3 |
This property specifies the direction and strength that wind blows through the experience, affecting terrain grass, dynamic clouds, and particles. See the Global Wind article for details.
Thread safety | ReadSafe |
---|---|
Category | Behavior |
Loaded/Saved | true |
History 2
- 553 Change Default of GlobalWind from to
- 512 Add GlobalWind
Gravity
Type | Default | |
---|---|---|
float |
Determines the acceleration due to gravity applied to falling BaseParts. This value is measured in studs per second squared and by default is set to 196.2 studs/second2. By changing this value, developers can simulate the effects of lower or higher gravity in game.
Thread safety | ReadSafe |
---|---|
Category | Behavior |
Loaded/Saved | true |
IKControlConstraintSupport
Type | Default | |
---|---|---|
IKControlConstraintSupport |
Enables support for constraints for IKControls. The Default
value is the
same as Enabled
. If disabled, IKControls ignore physics constraints. See
IKControl for additional details.
Thread safety | ReadSafe |
---|---|
Category | Behavior |
Loaded/Saved | true |
History 1
InsertPoint
Type | Default | |
---|---|---|
Vector3 |
Thread safety | ReadSafe |
---|---|
Category | Data |
Loaded/Saved | false |
History 1
- 620 Add InsertPoint
JoinToOutsiders
Parameters (2) | ||
---|---|---|
objects | Instances | |
jointType | JointCreationMode | |
Returns (1) | ||
null |
This function creates joints between the specified Parts and any touching parts depending on the parts' surfaces and the specified joint creation mode.
This function creates joints between the specified Parts and any planar touching surfaces, depending on the parts' surfaces and the specified joint creation mode.
- Glue, Studs, Inlets, Universal, Weld, and Smooth surfaces will all create Weld instances.
- Spheres will not surface-weld to anything. The rounded sides of cylinders will not surface-weld, but the flat end sides will.
- Hinge and Motor surfaces will still create Rotate and RotateP joint instances, regardless of part shape.
The first parameter is an array of BaseParts. Joints will only be created between the parts in the array and not in the array. Joints will not be created between the parts in the array.
The second parameter is a JointCreationMode that determines how joints will be created. Passing in either enum value, Enum.JointCreationMode.All or Enum.JointCreationMode.Surface, has the same behavior which equates to Join Always
This function is used by the Roblox Studio Move tool when the user finishes moving a selection. In conjunction with Plugin:GetJoinMode() and Workspace:UnjoinFromOutsiders() it can be used to retain join functionality when developing custom studio build tools. See the snippets below for an example.
1 2 3 4 5 |
|
1 2 3 4 |
|
Thread safety | Unsafe |
---|
History 4
- 648 Change Parameters of JoinToOutsiders from (objects: Objects, jointType: JointCreationMode) to (objects: Instances, jointType: JointCreationMode)
- 573 Change ReturnType of JoinToOutsiders from void to null
- 462 Change ThreadSafety of JoinToOutsiders from to Unsafe
- 196 Add JoinToOutsiders
MakeJoints
Parameters (1) | ||
---|---|---|
objects | Instances | |
Returns (1) | ||
null |
Deprecated
SurfaceType based joining is deprecated, do not use MakeJoints for new projects. WeldConstraints and HingeConstraints should be used instead.
Goes through all Parts given. If any part's side has a SurfaceType that can make a joint it will create a joint with any adjacent parts.
Joints will be created between the specified Parts and any planar touching surfaces, depending on the parts' 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:
workspace: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.
Security | PluginSecurity |
---|---|
Thread safety | Unsafe |
History 6
- 648 Change Parameters of MakeJoints from (objects: Objects) to (objects: Instances)
- 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
- 151 Change Security of MakeJoints from LocalUserSecurity to PluginSecurity
- 47 Add MakeJoints
MeshPartHeadsAndAccessories
Type | Default | |
---|---|---|
MeshPartHeadsAndAccessories |
Sets whether character Heads and Accessories should be downloaded as
MeshParts. The Default
value is the same as Enabled
.
If this feature is enabled, built-in avatars will use
MeshParts for the character's Head and Accessories.
Thread safety | ReadSafe |
---|---|
Category | Behavior |
Loaded/Saved | true |
History 3
- 553 Change Default of MeshPartHeadsAndAccessories from to
- 486 Change ThreadSafety of MeshPartHeadsAndAccessories from ReadOnly to ReadSafe
- 466 Add MeshPartHeadsAndAccessories
ModelStreamingBehavior
Type | Default | |
---|---|---|
ModelStreamingBehavior |
Thread safety | ReadSafe |
---|---|
Category | Streaming |
Loaded/Saved | true |
History 1
MoverConstraintRootBehavior
Type | Default | |
---|---|---|
MoverConstraintRootBehaviorMode |
Controls the logic used to select the assembly root part for mechanisms that use any of the following constraints:
When this property is set to
MoverConstraintRootBehaviorMode.Enabled, these constraints will be
ignored when selecting the assembly root part if the constraint does not
transmit forces between two parts (some examples being
AngularVelocity.ReactionTorqueEnabled set to false
,
AlignPosition.ReactionForceEnabled set to false
, or
AlignOrientation.Mode set to
OrientationAlignmentMode.OneAttachment).
When this property is set to MoverConstraintRootBehaviorMode.Disabled, these constraints may be erroneously considered when selecting the assembly root part, leading to inconsistent network ownership and delays when adding these constraints to a mechanism.
Thread safety | ReadSafe |
---|---|
Category | Behavior |
Loaded/Saved | true |
History 1
PGSIsEnabled
Parameters (0) | ||
---|---|---|
No parameters. | ||
Returns (1) | ||
bool |
Returns true if the game has the PGS Physics solver enabled.
As Workspace.PGSPhysicsSolverEnabled cannot be accessed by scripts, the PGSIsEnabled function allows developers to tell which physics solver the game is using.
print(workspace:PGSIsEnabled()) -- true = PGS solver enabled
print(workspace:PGSIsEnabled()) -- false = Legacy solver enabled
Thread safety | Unsafe |
---|
History 4
- 462 Change ThreadSafety of PGSIsEnabled from to Unsafe
- 223 Add PGSIsEnabled
- 222 Remove PGSIsEnabled
- 223 Add PGSIsEnabled
PathfindingUseImprovedSearch
Type | Default | |
---|---|---|
PathfindingUseImprovedSearch |
Thread safety | ReadSafe |
---|---|
Category | Behavior |
Loaded/Saved | true |
History 2
- 652 Change Tags of PathfindingUseImprovedSearch from [NotScriptable, NotBrowsable] to [NotScriptable]
- 640 Add PathfindingUseImprovedSearch
PersistentLoaded
Parameters (1) | |
---|---|
player | Player |
This event fires every time a player has been sent all current persistent
models and part-less atomic models. The player
parameter indicates which
player has received all applicable instances.
Note that experience loading happens before persistent loading, and firing of the DataModel.Loaded event does not indicate that all persistent models are present.
Thread safety | Unsafe |
---|
History 1
- 548 Add PersistentLoaded
PhysicsSteppingMethod
Type | Default | |
---|---|---|
PhysicsSteppingMethod |
Sets how the solver will advance the physics simulation forward in time. This option is not scriptable and must be set from the PhysicsSteppingMethod property of Workspace within Studio. See Adaptive Timestepping for details.
Option | Description |
---|---|
Adaptive | The engine attempts to assign optimal simulation rates for individual assemblies of either 240 Hz, 120 Hz, or 60 Hz. This setting is optimized for performance. |
Fixed | All simulated assemblies inside the workspace will advance forward at 240 Hz. This option is best for optimal stability and simulation accuracy. |
Default | The current default is Fixed. |
Note that when assemblies of different simulation rates become connected via Constraints or collisions, the combined mechanism will default to the highest simulation rate for stability.
Thread safety | ReadSafe |
---|---|
Category | Behavior |
Loaded/Saved | true |
History 3
- 553 Change Default of PhysicsSteppingMethod from to
- 486 Change ThreadSafety of PhysicsSteppingMethod from ReadOnly to ReadSafe
- 464 Add PhysicsSteppingMethod
PlayerCharacterDestroyBehavior
Type | Default | |
---|---|---|
PlayerCharacterDestroyBehavior |
Thread safety | ReadSafe |
---|---|
Category | Behavior |
Loaded/Saved | true |
History 1
PrimalPhysicsSolver
Type | Default | |
---|---|---|
PrimalPhysicsSolver |
Thread safety | ReadSafe |
---|---|
Category | Behavior |
Loaded/Saved | true |
History 1
RejectCharacterDeletions
Type | Default | |
---|---|---|
RejectCharacterDeletions |
Thread safety | ReadSafe |
---|---|
Category | Networking |
Loaded/Saved | true |
History 3
RenderingCacheOptimizations
Type | Default | |
---|---|---|
RenderingCacheOptimizationMode |
Thread safety | ReadSafe |
---|---|
Category | Behavior |
Loaded/Saved | true |
History 4
- 624 Change Tags of RenderingCacheOptimizations from [Hidden] to [NotScriptable]
- 624 Change CanSave of RenderingCacheOptimizations from false to true
- 624 Change CanLoad of RenderingCacheOptimizations from false to true
- 623 Add RenderingCacheOptimizations
ReplicateInstanceDestroySetting
Type | Default | |
---|---|---|
ReplicateInstanceDestroySetting |
Thread safety | ReadSafe |
---|---|
Category | Behavior |
Loaded/Saved | true |
History 2
- 553 Change Default of ReplicateInstanceDestroySetting from to
- 513 Add ReplicateInstanceDestroySetting
Retargeting
Type | Default | |
---|---|---|
AnimatorRetargetingMode |
Thread safety | ReadSafe |
---|---|
Category | Behavior |
Loaded/Saved | true |
History 2
- 553 Change Default of Retargeting from to
- 494 Add Retargeting
SandboxedInstanceMode
Type | Default | |
---|---|---|
SandboxedInstanceMode |
Thread safety | ReadSafe |
---|---|
Category | Behavior |
Loaded/Saved | true |
History 1
SetAvatarUnificationMode
Parameters (1) | ||
---|---|---|
value | AvatarUnificationMode | |
Returns (1) | ||
null |
Security | RobloxScriptSecurity |
---|---|
Thread safety | Unsafe |
History 1
SetMeshPartHeadsAndAccessories
Parameters (1) | ||
---|---|---|
value | MeshPartHeadsAndAccessories | |
Returns (1) | ||
null |
Security | RobloxScriptSecurity |
---|---|
Thread safety | Unsafe |
History 2
- 573 Change ReturnType of SetMeshPartHeadsAndAccessories from void to null
- 466 Add SetMeshPartHeadsAndAccessories
SetPhysicsThrottleEnabled
Parameters (1) | ||
---|---|---|
value | bool | |
Returns (1) | ||
null |
Security | LocalUserSecurity |
---|---|
Thread safety | Unsafe |
History 3
- 573 Change ReturnType of SetPhysicsThrottleEnabled from void to null
- 462 Change ThreadSafety of SetPhysicsThrottleEnabled from to Unsafe
- 47 Add SetPhysicsThrottleEnabled
SignalBehavior
Type | Default | |
---|---|---|
SignalBehavior |
This property determines whether event handlers will be resumed immediately when the event fires, or deferred and then resumed at a later resumption point. Resumption points currently include:
- Input processing (resumes once per input to be processed, see UserInputService)
- RunService.PreRender
- Legacy waiting script resumption such as
wait()
,spawn()
, anddelay()
- RunService.PreAnimation
- RunService.PreSimulation
- RunService.PostSimulation
- Waiting script resumption such as task.wait(), task.spawn(), and task.delay()
- RunService.Heartbeat
- DataModel.BindToClose
For more information, see Deferred Events.
Thread safety | ReadSafe |
---|---|
Category | Behavior |
Loaded/Saved | false |
History 5
- 570 Change CanLoad of SignalBehavior from true to false
- 570 Change CanSave of SignalBehavior from true to false
- 553 Change Default of SignalBehavior from to
- 486 Change ThreadSafety of SignalBehavior from ReadOnly to ReadSafe
- 473 Add SignalBehavior
StreamOutBehavior
Type | Default | |
---|---|---|
StreamOutBehavior |
The StreamOutBehavior controls where content will be unloaded from the ReplicationFocus based on device Memory Conditions, or based on Streaming Radius.
See also:
- Workspace.StreamingEnabled which controls whether content streaming is enabled
- Workspace.StreamingMinRadius
- Workspace.StreamingTargetRadius
- Workspace.StreamingIntegrityMode
Thread safety | ReadSafe |
---|---|
Category | Streaming |
Loaded/Saved | true |
History 2
- 553 Change Default of StreamOutBehavior from to
- 491 Add StreamOutBehavior
StreamingEnabled
Type | Default | |
---|---|---|
bool |
The StreamingEnabled property determines whether game content streaming is enabled for the place. This property is not scriptable and therefore must be set on the Workspace object in Studio.
See also:
Write security | PluginSecurity |
---|---|
Thread safety | ReadSafe |
Category | Streaming |
Loaded/Saved | true |
History 7
- 553 Change Default of StreamingEnabled from to
- 491 Change Category of StreamingEnabled from Behavior to Streaming
- 486 Change ThreadSafety of StreamingEnabled from ReadOnly to ReadSafe
- 462 Change ThreadSafety of StreamingEnabled from to ReadOnly
- 421 Change WriteSecurity of StreamingEnabled from None to PluginSecurity
- 372 Change Tags of StreamingEnabled from [NotReplicated] to []
- 132 Add StreamingEnabled
StreamingIntegrityMode
Type | Default | |
---|---|---|
StreamingIntegrityMode |
If instance streaming is enabled, an experience may behave in unintended ways if a player's character moves into a region of the world that has not been streamed to their client. The streaming integrity feature offers a way to avoid those potentially problematic situations.
Thread safety | ReadSafe |
---|---|
Category | Streaming |
Loaded/Saved | true |
History 2
- 553 Change Default of StreamingIntegrityMode from to
- 541 Add StreamingIntegrityMode
StreamingMinRadius
Type | Default | |
---|---|---|
int |
The StreamingMinRadius property indicates the radius around the player's character or the current ReplicationFocus in which content will be streamed in at the highest priority. Defaults to 64 studs.
Care should be taken when increasing the default minimum radius since doing so will require more memory and more server bandwidth at the expense of other components.
See also:
- Workspace.StreamingEnabled which controls whether content streaming is enabled
- Workspace.StreamingTargetRadius
- Workspace.StreamingIntegrityMode
Thread safety | ReadSafe |
---|---|
Category | Streaming |
Loaded/Saved | true |
History 5
- 553 Change Default of StreamingMinRadius from to
- 491 Change Category of StreamingMinRadius from Behavior to Streaming
- 486 Change ThreadSafety of StreamingMinRadius from ReadOnly to ReadSafe
- 462 Change ThreadSafety of StreamingMinRadius from to ReadOnly
- 362 Add StreamingMinRadius
StreamingTargetRadius
Type | Default | |
---|---|---|
int |
The StreamingTargetRadius property controls the maximum distance away from the player's character or the current ReplicationFocus in which content will be streamed in. Defaults to 1024 studs.
Note that the engine is allowed to retain previously loaded content beyond the target radius, memory permitting.
See also:
- Workspace.StreamingEnabled which controls whether content streaming is enabled
- Workspace.StreamingMinRadius
- Workspace.StreamingIntegrityMode
Thread safety | ReadSafe |
---|---|
Category | Streaming |
Loaded/Saved | true |
History 5
- 553 Change Default of StreamingTargetRadius from to
- 491 Change Category of StreamingTargetRadius from Behavior to Streaming
- 486 Change ThreadSafety of StreamingTargetRadius from ReadOnly to ReadSafe
- 462 Change ThreadSafety of StreamingTargetRadius from to ReadOnly
- 362 Add StreamingTargetRadius
Terrain
Type | Default | |
---|---|---|
Terrain |
This property is a reference to the Terrain object parented to the Workspace.
See Environmental Terrain for more information.
Thread safety | ReadSafe |
---|---|
Category | Behavior |
Loaded/Saved | false |
TouchEventsUseCollisionGroups
Type | Default | |
---|---|---|
RolloutState |
Thread safety | ReadSafe |
---|---|
Category | Behavior |
Loaded/Saved | true |
History 1
TouchesUseCollisionGroups
Type | Default | |
---|---|---|
bool |
This property determines whether parts in different
groups set to not collide will ignore collisions and touch events. By
default, the value of this property is set to false
.
When this property is enabled, parts in different groups set to not collide will also ignore the CanTouch property, similar to how BasePart.CanCollide is ignored. For more information on the behavior of CanTouch, please visit its property page.
Thread safety | ReadSafe |
---|---|
Category | Behavior |
Loaded/Saved | true |
History 4
- 553 Change Default of TouchesUseCollisionGroups from to
- 486 Change ThreadSafety of TouchesUseCollisionGroups from ReadOnly to ReadSafe
- 462 Change ThreadSafety of TouchesUseCollisionGroups from to ReadOnly
- 460 Add TouchesUseCollisionGroups
UnjoinFromOutsiders
Parameters (1) | ||
---|---|---|
objects | Instances | |
Returns (1) | ||
null |
Breaks all joints between the specified BaseParts and other BaseParts.
This function requires an array of BaseParts. Note, joints will not be broken between these BaseParts (each other), only between these BaseParts and other BaseParts not in the array.
This function is used by the Roblox Studio Move tool when the user starts moving a selection. In conjunction with Plugin:GetJoinMode() and Workspace:JoinToOutsiders() it can be used to retain join functionality when developing custom studio build tools. See the snippets below for an example.
-- finished moving a selection, make joints
local function finishedMovingParts(parts)
local joinMode = Plugin:GetJoinMode()
workspace:JoinToOutsiders(parts, joinMode)
end
-- started moving a selection, break joints
local function startMovingParts(parts)
workspace:UnjoinFromOutsiders(parts)
end
Thread safety | Unsafe |
---|
History 4
- 648 Change Parameters of UnjoinFromOutsiders from (objects: Objects) to (objects: Instances)
- 573 Change ReturnType of UnjoinFromOutsiders from void to null
- 462 Change ThreadSafety of UnjoinFromOutsiders from to Unsafe
- 196 Add UnjoinFromOutsiders
ZoomToExtents
Parameters (0) | ||
---|---|---|
No parameters. | ||
Returns (1) | ||
null |
Positions and zooms the Workspace.CurrentCamera to show the extent of BaseParts currently in the Workspace.
This function was used in the, now removed, 'Zoom To Extents' button in Roblox Studio. It exhibits similar behavior to the 'Zoom To' (F shortcut) feature, however it shows the extents of the Workspace rather than the currently selected object.
This function cannot be used in scripts but will function in the command bar or plugins.
Security | PluginSecurity |
---|---|
Thread safety | Unsafe |
History 4
- 573 Change ReturnType of ZoomToExtents from void to null
- 462 Change ThreadSafety of ZoomToExtents from to Unsafe
- 151 Change Security of ZoomToExtents from LocalUserSecurity to PluginSecurity
- 47 Add ZoomToExtents
Removed members 32
AnimationWeightedBlendFix
Type | Default | |
---|---|---|
NewAnimationRuntimeSetting |
Thread safety | ReadSafe |
---|---|
Category | Behavior |
Loaded/Saved | true |
History 4
- 565 Remove AnimationWeightedBlendFix
- 553 Change Default of AnimationWeightedBlendFix from to
- 486 Change ThreadSafety of AnimationWeightedBlendFix from ReadOnly to ReadSafe
- 478 Add AnimationWeightedBlendFix
AutoJointsMode
Type | Default | |
---|---|---|
AutoJointsMode |
Category | Behavior |
---|---|
Loaded/Saved | true |
History 2
- 396 Remove AutoJointsMode
- 349 Add AutoJointsMode
CSGAsyncDynamicCollision
Type | Default | |
---|---|---|
CSGAsyncDynamicCollision |
Thread safety | ReadSafe |
---|---|
Category | Behavior |
Loaded/Saved | true |
History 2
DecreaseMinimumPartDensityMode
Type | Default | |
---|---|---|
DecreaseMinimumPartDensityMode |
Thread safety | ReadSafe |
---|---|
Category | Behavior |
Loaded/Saved | true |
History 2
EditorLiveScripting
Type | Default | |
---|---|---|
EditorLiveScripting |
Thread safety | ReadSafe |
---|---|
Category | Scripting |
Loaded/Saved | true |
History 2
- 629 Remove EditorLiveScripting
- 596 Add EditorLiveScripting
EnableFluidForces
Type | Default | |
---|---|---|
bool |
Thread safety | ReadSafe |
---|---|
Category | Behavior |
Loaded/Saved | true |
History 2
- 587 Remove EnableFluidForces
- 581 Add EnableFluidForces
FindPartOnRay
Parameters (4) | Default | |
---|---|---|
ray | Ray | |
ignoreDescendantsInstance | Instance | Instance |
terrainCellsAreCubes | bool | false |
ignoreWater | bool | false |
Returns (1) | ||
Tuple |
History 5
- 410 Remove FindPartOnRay
- 298 Change Parameters of FindPartOnRay from (ray: Ray, ignoreDescendentsInstance: Instance = Instance, terrainCellsAreCubes: bool = false, ignoreWater: bool = false) to (ray: Ray, ignoreDescendantsInstance: Instance = Instance, terrainCellsAreCubes: bool = false, ignoreWater: bool = false)
- 195 Change Parameters of FindPartOnRay from (ray: Ray, ignoreDescendentsInstance: Instance = Instance, terrainCellsAreCubes: bool = false) to (ray: Ray, ignoreDescendentsInstance: Instance = Instance, terrainCellsAreCubes: bool = false, ignoreWater: bool = false)
- 55 Change Tags of FindPartOnRay from [preliminary] to []
- 47 Add FindPartOnRay
FindPartOnRayWithIgnoreList
Parameters (4) | Default | |
---|---|---|
ray | Ray | |
ignoreDescendantsTable | Objects | |
terrainCellsAreCubes | bool | false |
ignoreWater | bool | false |
Returns (1) | ||
Tuple |
History 5
- 410 Remove FindPartOnRayWithIgnoreList
- 298 Change Parameters of FindPartOnRayWithIgnoreList from (ray: Ray, ignoreDescendentsTable: Objects, terrainCellsAreCubes: bool = false, ignoreWater: bool = false) to (ray: Ray, ignoreDescendantsTable: Objects, terrainCellsAreCubes: bool = false, ignoreWater: bool = false)
- 195 Change Parameters of FindPartOnRayWithIgnoreList from (ray: Ray, ignoreDescendentsTable: Objects, terrainCellsAreCubes: bool = false) to (ray: Ray, ignoreDescendentsTable: Objects, terrainCellsAreCubes: bool = false, ignoreWater: bool = false)
- 55 Change Tags of FindPartOnRayWithIgnoreList from [preliminary] to []
- 48 Add FindPartOnRayWithIgnoreList
FindPartOnRayWithWhitelist
Parameters (3) | Default | |
---|---|---|
ray | Ray | |
whitelistDescendantsTable | Objects | |
ignoreWater | bool | false |
Returns (1) | ||
Tuple |
History 3
- 410 Remove FindPartOnRayWithWhitelist
- 298 Change Parameters of FindPartOnRayWithWhitelist from (ray: Ray, whitelistDescendentsTable: Objects, ignoreWater: bool = false) to (ray: Ray, whitelistDescendantsTable: Objects, ignoreWater: bool = false)
- 262 Add FindPartOnRayWithWhitelist
FindPartsInRegion3
Parameters (3) | Default | |
---|---|---|
region | Region3 | |
ignoreDescendantsInstance | Instance | Instance |
maxParts | int | 20 |
Returns (1) | ||
Objects |
History 4
- 410 Remove FindPartsInRegion3
- 298 Change Parameters of FindPartsInRegion3 from (region: Region3, ignoreDescendentsInstance: Instance = Instance, maxParts: int = 20) to (region: Region3, ignoreDescendantsInstance: Instance = Instance, maxParts: int = 20)
- 55 Change Tags of FindPartsInRegion3 from [preliminary] to []
- 47 Add FindPartsInRegion3
FindPartsInRegion3WithIgnoreList
Parameters (3) | Default | |
---|---|---|
region | Region3 | |
ignoreDescendantsTable | Objects | |
maxParts | int | 20 |
Returns (1) | ||
Objects |
History 4
- 410 Remove FindPartsInRegion3WithIgnoreList
- 298 Change Parameters of FindPartsInRegion3WithIgnoreList from (region: Region3, ignoreDescendentsTable: Objects, maxParts: int = 20) to (region: Region3, ignoreDescendantsTable: Objects, maxParts: int = 20)
- 55 Change Tags of FindPartsInRegion3WithIgnoreList from [preliminary] to []
- 48 Add FindPartsInRegion3WithIgnoreList
FindPartsInRegion3WithWhiteList
Parameters (3) | Default | |
---|---|---|
region | Region3 | |
whitelistDescendantsTable | Objects | |
maxParts | int | 20 |
Returns (1) | ||
Objects |
History 2
GetPhysicsAnalyzerBreakOnIssue
Parameters (0) | ||
---|---|---|
No parameters. | ||
Returns (1) | ||
bool |
Security | PluginSecurity |
---|
History 2
GetPhysicsAnalyzerIssue
Parameters (1) | ||
---|---|---|
index | int | |
Returns (1) | ||
Objects |
Security | PluginSecurity |
---|
History 2
- 369 Remove GetPhysicsAnalyzerIssue
- 236 Add GetPhysicsAnalyzerIssue
HumanoidOnlySetCollisionsOnStateChange
Type | Default | |
---|---|---|
HumanoidOnlySetCollisionsOnStateChange |
Thread safety | ReadSafe |
---|---|
Category | Behavior |
Loaded/Saved | true |
History 4
- 595 Remove HumanoidOnlySetCollisionsOnStateChange
- 553 Change Default of HumanoidOnlySetCollisionsOnStateChange from to
- 486 Change ThreadSafety of HumanoidOnlySetCollisionsOnStateChange from ReadOnly to ReadSafe
- 485 Add HumanoidOnlySetCollisionsOnStateChange
InsertContent
Parameters (1) | ||
---|---|---|
url | Content | |
Returns (1) | ||
Objects |
Security | LocalUserSecurity |
---|
History 2
- 163 Remove InsertContent
- 47 Add InsertContent
IsRegion3Empty
Parameters (2) | Default | |
---|---|---|
region | Region3 | |
ignoreDescendentsInstance | Instance | Instance |
Returns (1) | ||
bool |
History 2
- 410 Remove IsRegion3Empty
- 47 Add IsRegion3Empty
IsRegion3EmptyWithIgnoreList
Parameters (2) | ||
---|---|---|
region | Region3 | |
ignoreDescendentsTable | Objects | |
Returns (1) | ||
bool |
History 2
MeshPartHeads
Type | Default | |
---|---|---|
MeshPartHeads |
Thread safety | ReadOnly |
---|---|
Category | Behavior |
Loaded/Saved | true |
History 3
- 466 Remove MeshPartHeads
- 462 Change ThreadSafety of MeshPartHeads from to ReadOnly
- 449 Add MeshPartHeads
NewPhysicsSolver
Type | Default | |
---|---|---|
PhysicsSolver |
Thread safety | ReadSafe |
---|---|
Category | Behavior |
Loaded/Saved | true |
History 2
- 600 Remove NewPhysicsSolver
- 599 Add NewPhysicsSolver
PGSPhysicsSolverEnabled
Type | Default | |
---|---|---|
bool |
Category | Behavior |
---|---|
Loaded/Saved | true |
History 2
- 373 Remove PGSPhysicsSolverEnabled
- 349 Add PGSPhysicsSolverEnabled
PhysicsAnalyzerIssuesFound
Parameters (1) | |
---|---|
count | int |
Security | PluginSecurity |
---|
History 2
PhysicsInertiaAndVolumeFix
Type | Default | |
---|---|---|
PhysicsInertiaAndVolumeFix |
Thread safety | ReadSafe |
---|---|
Category | Behavior |
Loaded/Saved | true |
History 2
SetMeshPartHeads
Parameters (1) | ||
---|---|---|
value | MeshPartHeads | |
Returns (1) | ||
void |
Security | RobloxScriptSecurity |
---|---|
Thread safety | Unsafe |
History 5
- 466 Remove SetMeshPartHeads
- 462 Change ThreadSafety of SetMeshPartHeads from to Unsafe
- 459 Add SetMeshPartHeads
- 458 Remove SetMeshPartHeads
- 459 Add SetMeshPartHeads
SetPhysicsAnalyzerBreakOnIssue
Parameters (1) | ||
---|---|---|
enable | bool | |
Returns (1) | ||
void |
Security | PluginSecurity |
---|
History 2
SkinnedMeshEnabled
Type | Default | |
---|---|---|
SkinnedMeshAllowType |
Category | Behavior |
---|---|
Loaded/Saved | true |
History 2
- 442 Remove SkinnedMeshEnabled
- 440 Add SkinnedMeshEnabled
TemporaryLegacyPhysicsSolverOverride
Type | Default | |
---|---|---|
bool |
Category | Behavior |
---|---|
Loaded/Saved | false |
History 5
- 443 Remove TemporaryLegacyPhysicsSolverOverride
- 442 Add TemporaryLegacyPhysicsSolverOverride
- 443 Remove TemporaryLegacyPhysicsSolverOverride
- 359 Change Tags of TemporaryLegacyPhysicsSolverOverride from [NotReplicated] to [NotReplicated, NotScriptable]
- 349 Add TemporaryLegacyPhysicsSolverOverride
UnionsScaleNonuniformly
Type | Default | |
---|---|---|
UnionsScaleNonuniformly |
Thread safety | ReadSafe |
---|---|
Category | Behavior |
Loaded/Saved | true |
History 3
- 560 Remove UnionsScaleNonuniformly
- 553 Change Default of UnionsScaleNonuniformly from to
- 535 Add UnionsScaleNonuniformly
findPartOnRay
Parameters (4) | Default | |
---|---|---|
ray | Ray | |
ignoreDescendantsInstance | Instance | Instance |
terrainCellsAreCubes | bool | false |
ignoreWater | bool | false |
Returns (1) | ||
Tuple |
History 4
- 410 Remove findPartOnRay
- 298 Change Parameters of findPartOnRay from (ray: Ray, ignoreDescendentsInstance: Instance = Instance, terrainCellsAreCubes: bool = false, ignoreWater: bool = false) to (ray: Ray, ignoreDescendantsInstance: Instance = Instance, terrainCellsAreCubes: bool = false, ignoreWater: bool = false)
- 195 Change Parameters of findPartOnRay from (ray: Ray, ignoreDescendentsInstance: Instance = Instance, terrainCellsAreCubes: bool = false) to (ray: Ray, ignoreDescendentsInstance: Instance = Instance, terrainCellsAreCubes: bool = false, ignoreWater: bool = false)
- 52 Add findPartOnRay
findPartsInRegion3
Parameters (3) | Default | |
---|---|---|
region | Region3 | |
ignoreDescendantsInstance | Instance | Instance |
maxParts | int | 20 |
Returns (1) | ||
Objects |
History 3
- 410 Remove findPartsInRegion3
- 298 Change Parameters of findPartsInRegion3 from (region: Region3, ignoreDescendentsInstance: Instance = Instance, maxParts: int = 20) to (region: Region3, ignoreDescendantsInstance: Instance = Instance, maxParts: int = 20)
- 50 Add findPartsInRegion3