20 min read

Source: Roblox Creator Hub · CC BY 4.0 · View source · Code samples: MIT Imported 2026-10-03. Formatting adapted for this site.

DragDetector

Inherits from: ClickDetector → Instance → Object

The DragDetector instance facilitates and encourages interaction with 3D objects in an experience, such as opening doors and drawers, sliding a part around, and much more. Key features include:

See the 3D Drag Detectors guide for details and usage examples.

Inherits from: ClickDetector

Memory category: Instances

Properties

NameType / ReturnsDescription
DragDetector.ActivatedCursorIconContentIdSets the cursor icon to display when the mouse is activated over the parent of this DragDetector.
DragDetector.ActivatedCursorIconContentContentSets the cursor icon to display when the mouse is activated over the parent of this DragDetector. Only supports asset URIs
DragDetector.ApplyAtCenterOfMassbooleanWhether constraint force is applied to the object's center of mass.
DragDetector.AxisVector3The primary axis of motion, expressed relative to the reference frame.
DragDetector.DragFrameCFrameThe CFrame of the pivot, dependent on the drag detector's ReferenceInstance.
DragDetector.DragStyleDragDetectorDragStyleThe paradigm used to generate proposed motion.
DragDetector.EnabledbooleanWhether the DragDetector responds to user input.
DragDetector.GamepadModeSwitchKeyCodeKeyCodeDuring gamepad input, the modifier KeyCode for the secondary mode of motion.
DragDetector.KeyboardModeSwitchKeyCodeKeyCodeDuring keyboard input, the modifier KeyCode for the secondary mode of motion.
DragDetector.MaxDragAnglefloatAlong with MinDragAngle, impedes the drag detector's attempts to generate motion.
DragDetector.MaxDragTranslationVector3Along with MinDragTranslation, impedes the drag detector's attempts to generate motion.
DragDetector.MaxForcefloatMaximum force applied for the object to reach its goal.
DragDetector.MaxTorquefloatMaximum torque applied for the object to reach its goal.
DragDetector.MinDragAnglefloatAlong with MaxDragAngle, impedes the drag detector's attempts to generate motion.
DragDetector.MinDragTranslationVector3Along with MaxDragTranslation, impedes the drag detector's attempts to generate motion.
DragDetector.OrientationVector3Specifies the YXZ rotation of axes of motion relative to the reference frame.
DragDetector.PermissionPolicyDragDetectorPermissionPolicyControls the permission level for which players can interact with the DragDetector.
DragDetector.ReferenceInstanceInstanceAn instance whose CFrame is the reference frame for the drag detector.
DragDetector.ResponseStyleDragDetectorResponseStyleThe paradigm used to move, or not move, the objects affected by the drag detector.
DragDetector.ResponsivenessfloatHigher values cause the object to reach its goal more rapidly.
DragDetector.RunLocallybooleanWhether user input on a DragDetector replicates to the server or remains local to the specific client.
DragDetector.SecondaryAxisVector3The secondary axis of the motion.
DragDetector.TrackballRadialPullFactorfloatIf DragStyle is DragDetectorDragStyle.RotateTrackball, multiplier for adding a radial pull rotation as a contribution to the total.
DragDetector.TrackballRollFactorfloatIf DragStyle is DragDetectorDragStyle.RotateTrackball, multiplier for adding roll rotation to the total.
DragDetector.VRSwitchKeyCodeKeyCodeDuring VR input, the modifier KeyCode for the secondary mode of motion.
DragDetector.WorldAxisVector3The Axis expressed in world space.
DragDetector.WorldSecondaryAxisVector3The SecondaryAxis expressed in world space.

Inherited from ClickDetector

NameType / ReturnsDescription
ClickDetector.CursorIconContentIdSets the cursor icon to display when the mouse is hovered over the parent of this ClickDetector or DragDetector.
ClickDetector.CursorIconContentContentSets the cursor icon to display when the mouse is hovered over the parent of this ClickDetector or DragDetector. Only supports asset URIs.
ClickDetector.MaxActivationDistancefloatMaximum distance between a character and the ClickDetector or DragDetector for the player to be able to interact with it.

Inherited from Instance

NameType / ReturnsDescription
Instance.ArchivablebooleanDetermines if an Instance and its descendants can be cloned using Instance:Clone(), and can be saved/published.
Instance.archivableboolean
Instance.CapabilitiesSecurityCapabilitiesThe set of capabilities allowed to be used for scripts inside this container.
Instance.IsInSandboxbooleanIndicates whether the instance is inside a sandboxed container.
Instance.NamestringA non-unique identifier of the Instance.
Instance.ParentInstanceDetermines the hierarchical parent of the Instance.
Instance.PredictionModePredictionModeReflects the client-side prediction mode applied to the instance under server-authoritative physics.
Instance.RobloxLockedbooleanA deprecated property that used to protect CoreGui objects.
Instance.SandboxedbooleanWhen enabled, the instance can only access abilities in its Capabilities list.
Instance.UniqueIdUniqueIdA unique identifier for the instance.

Inherited from Object

NameType / ReturnsDescription
Object.ClassNamestringA read-only string representing the class this Object belongs to.
Object.classNamestring

DragDetector.ActivatedCursorIcon

Sets the cursor icon to display when the mouse is activated over the parent of this DragDetector. If this property is left blank, the detector will use the default icon.

To change the activated cursor icon, set this property to the asset ID of the image you'd like to use.

FieldValue
typeContentId
security{"read":"None","write":"None"}
thread safetyReadSafe
categoryImage
serialization{"can_load":true,"can_save":true}
capabilities["Physics","Input"]

DragDetector.ActivatedCursorIconContent

Sets the cursor icon to display when the mouse is activated over the parent of this DragDetector. If this property is left blank, the detector will use the default icon.

To change the activated cursor icon, set this property to the asset ID of the image you'd like to use. Only asset URIs are supported for this property.

FieldValue
typeContent
security{"read":"None","write":"None"}
thread safetyReadSafe
categoryImage
serialization{"can_load":true,"can_save":true}
capabilities["Physics","Input"]

DragDetector.ApplyAtCenterOfMass

When false (default), constraint force is applied at the point the user clicks on. When true, force is applied at the object's center of mass. Only relevant if ResponseStyle is DragDetectorResponseStyle.Physical and the parent object is unanchored.

FieldValue
typeboolean
security{"read":"None","write":"None"}
thread safetyReadSafe
categoryPhysics Response
serialization{"can_load":true,"can_save":true}
capabilities["Physics","Input"]

DragDetector.Axis

The primary axis of motion, expressed relative to the reference frame. For a DragStyle of DragDetectorDragStyle.TranslateLine, the direction of translation; for DragDetectorDragStyle.TranslatePlane, the normal to the plane of motion; for DragDetectorDragStyle.RotateAxis, the axis of 1D rotation. Changing this value automatically updates Orientation and vice versa.

FieldValue
typeVector3
tags["NotReplicated"]
security{"read":"None","write":"None"}
thread safetyReadSafe
categoryDrag Directions
serialization{"can_load":true,"can_save":false}
capabilities["Physics","Input"]

DragDetector.DragFrame

If ReferenceInstance is set, the CFrame of the pivot relative to the reference frame; otherwise, the CFrame of the pivot relative to its frame at the beginning of the drag.

FieldValue
typeCFrame
security{"read":"None","write":"None"}
thread safetyReadSafe
categoryDragged Amount
serialization{"can_load":true,"can_save":true}
capabilities["Physics","Input"]

DragDetector.DragStyle

The paradigm used to generate proposed motion, given a stream of cursor rays. See DragDetectorDragStyle for options.

FieldValue
typeDragDetectorDragStyle
security{"read":"None","write":"None"}
thread safetyReadSafe
categoryBehavior
serialization{"can_load":true,"can_save":true}
capabilities["Physics","Input"]

DragDetector.Enabled

If true, the DragDetector responds to user input; if false, it does not.

FieldValue
typeboolean
security{"read":"None","write":"None"}
thread safetyReadSafe
categoryBehavior
serialization{"can_load":true,"can_save":true}
capabilities["Physics","Input"]

DragDetector.GamepadModeSwitchKeyCode

During gamepad input, the KeyCode for toggling the secondary mode of motion. Only applies if the drag detector's DragStyle has both primary and secondary modes of motion.

FieldValue
typeKeyCode
security{"read":"None","write":"None"}
thread safetyReadSafe
categoryMode Switching
serialization{"can_load":true,"can_save":true}
capabilities["Physics","Input"]

DragDetector.KeyboardModeSwitchKeyCode

During keyboard input, the KeyCode for toggling the secondary mode of motion. Only applies if the drag detector's DragStyle has both primary and secondary modes of motion.

FieldValue
typeKeyCode
security{"read":"None","write":"None"}
thread safetyReadSafe
categoryMode Switching
serialization{"can_load":true,"can_save":true}
capabilities["Physics","Input"]

DragDetector.MaxDragAngle

If this is greater than MinDragAngle, translation will be clamped within that range.

This is not a constraint; it merely impedes the drag detector's attempts to generate motion in order to remain within limits. See AddConstraintFunction() to add custom constraint to a drag.

Only relevant if DragStyle is DragDetectorDragStyle.RotateAxis.

FieldValue
typefloat
security{"read":"None","write":"None"}
thread safetyReadSafe
categoryDrag Limits
serialization{"can_load":true,"can_save":true}
capabilities["Physics","Input"]

DragDetector.MaxDragTranslation

In any dimension, if this is greater than MinDragTranslation, translation will be clamped within that range.

This is not a constraint; it merely impedes the drag detector's attempts to generate motion in order to remain within limits. See AddConstraintFunction() to add custom constraint to a drag.

FieldValue
typeVector3
security{"read":"None","write":"None"}
thread safetyReadSafe
categoryDrag Limits
serialization{"can_load":true,"can_save":true}
capabilities["Physics","Input"]

DragDetector.MaxForce

Maximum force applied for the object to reach its goal. Only relevant if ResponseStyle is DragDetectorResponseStyle.Physical and the parent object is unanchored.

FieldValue
typefloat
security{"read":"None","write":"None"}
thread safetyReadSafe
categoryPhysics Response
serialization{"can_load":true,"can_save":true}
capabilities["Physics","Input"]

DragDetector.MaxTorque

Maximum torque applied for the object to reach its goal. Only relevant if ResponseStyle is DragDetectorResponseStyle.Physical and the parent object is unanchored.

FieldValue
typefloat
security{"read":"None","write":"None"}
thread safetyReadSafe
categoryPhysics Response
serialization{"can_load":true,"can_save":true}
capabilities["Physics","Input"]

DragDetector.MinDragAngle

If this is less than MaxDragAngle, translation will be clamped within that range.

This is not a constraint; it merely impedes the drag detector's attempts to generate motion in order to remain within limits. See AddConstraintFunction() to add custom constraint to a drag.

Only relevant if DragStyle is DragDetectorDragStyle.RotateAxis.

FieldValue
typefloat
security{"read":"None","write":"None"}
thread safetyReadSafe
categoryDrag Limits
serialization{"can_load":true,"can_save":true}
capabilities["Physics","Input"]

DragDetector.MinDragTranslation

In any dimension, if this is less than MaxDragTranslation, translation will be clamped within that range.

This is not a constraint; it merely impedes the drag detector's attempts to generate motion in order to remain within limits. See AddConstraintFunction() to add custom constraint to a drag.

FieldValue
typeVector3
security{"read":"None","write":"None"}
thread safetyReadSafe
categoryDrag Limits
serialization{"can_load":true,"can_save":true}
capabilities["Physics","Input"]

DragDetector.Orientation

Specifies the YXZ rotation of axes of motion relative to the reference frame (does not change the orientation of the reference frame itself). Linear translation and axial rotation will be on this reoriented Y axis, and planar translation in the XZ plane. Changing this value automatically updates Axis and vice versa.

FieldValue
typeVector3
security{"read":"None","write":"None"}
thread safetyReadSafe
categoryDrag Directions
serialization{"can_load":true,"can_save":true}
capabilities["Physics","Input"]

DragDetector.PermissionPolicy

Controls the permission level for which players can interact with the DragDetector. Default is DragDetectorPermissionPolicy.Everybody.

FieldValue
typeDragDetectorPermissionPolicy
security{"read":"None","write":"None"}
thread safetyReadSafe
categoryBehavior
serialization{"can_load":true,"can_save":true}
capabilities["Physics","Input"]

DragDetector.ReferenceInstance

An instance whose CFrame is the reference frame for the drag detector. The DragFrame is expressed relative to this CFrame which may be retrieved via the GetReferenceFrame() method.

If this instance is a PVInstance, the reference frame will be its pivot; if an Attachment, then its world CFrame. If it is nil or neither of the former, the reference frame will be based on the pivot of the drag detector's parent BasePart or Model.

FieldValue
typeInstance
security{"read":"None","write":"None"}
thread safetyReadSafe
categoryData
serialization{"can_load":true,"can_save":true}
capabilities["Physics","Input"]

DragDetector.ResponseStyle

Once the proposed motion has been computed and potentially constrained, this is the paradigm used to move, or not move, the objects affected by the DragDetector. See DragDetectorResponseStyle for options.

FieldValue
typeDragDetectorResponseStyle
security{"read":"None","write":"None"}
thread safetyReadSafe
categoryBehavior
serialization{"can_load":true,"can_save":true}
capabilities["Physics","Input"]

DragDetector.Responsiveness

Higher values cause the object to reach its goal more rapidly. Only relevant if ResponseStyle is DragDetectorResponseStyle.Physical and the parent object is unanchored.

FieldValue
typefloat
security{"read":"None","write":"None"}
thread safetyReadSafe
categoryPhysics Response
serialization{"can_load":true,"can_save":true}
capabilities["Physics","Input"]

DragDetector.RunLocally

If false (default), the client sends replicated signals (DragStart, DragContinue, DragEnd) to the server which processes cursor rays, makes changes to the data model, and replicates them onwards to clients.

If true, the client processes those signals itself and does not replicate them to the server. Client LocalScripts may be used to respond to these events and RemoteEvents may be used to send any resulting changes that should be replicated to the server.

FieldValue
typeboolean
security{"read":"None","write":"None"}
thread safetyReadSafe
categoryBehavior
serialization{"can_load":true,"can_save":true}
capabilities["Physics","Input"]

DragDetector.SecondaryAxis

The secondary axis of the motion. Relates to orientation using the same paradigm as Attachments.

FieldValue
typeVector3
tags["NotReplicated"]
security{"read":"None","write":"None"}
thread safetyReadSafe
categoryDrag Directions
serialization{"can_load":true,"can_save":false}
capabilities["Physics","Input"]

DragDetector.TrackballRadialPullFactor

When the cursor is outside the trackball, the DragDetector can apply a radial pull rotation that turns the ball as if it were trying to roll out toward the cursor. This property is a 0 to 1 multiplier for adding that rotation as a contribution to the total. Only relevant if DragStyle is DragDetectorDragStyle.RotateTrackball.

FieldValue
typefloat
security{"read":"None","write":"None"}
thread safetyReadSafe
categoryBehavior
serialization{"can_load":true,"can_save":true}
capabilities["Physics","Input"]

DragDetector.TrackballRollFactor

When the cursor is outside the trackball, the DragDetector can apply a roll rotation that turns the ball as if it were mounted on a vinyl record facing the viewer. This property is a 0 to 1 multiplier for adding that roll rotation to the total. Only relevant if DragStyle is DragDetectorDragStyle.RotateTrackball.

FieldValue
typefloat
security{"read":"None","write":"None"}
thread safetyReadSafe
categoryBehavior
serialization{"can_load":true,"can_save":true}
capabilities["Physics","Input"]

DragDetector.VRSwitchKeyCode

During VR input, the KeyCode for toggling the secondary mode of motion. Only applies if the drag detector's DragStyle has both primary and secondary modes of motion.

FieldValue
typeKeyCode
security{"read":"None","write":"None"}
thread safetyReadSafe
categoryMode Switching
serialization{"can_load":true,"can_save":true}
capabilities["Physics","Input"]

DragDetector.WorldAxis

The Axis expressed in world space. Relates to orientation using the same paradigm as Attachments.

FieldValue
typeVector3
tags["NotReplicated"]
security{"read":"None","write":"None"}
thread safetyReadSafe
categoryDrag Directions
serialization{"can_load":true,"can_save":false}
capabilities["Physics","Input"]

DragDetector.WorldSecondaryAxis

The SecondaryAxis expressed in world space. Relates to orientation using the same paradigm as Attachments.

FieldValue
typeVector3
tags["NotReplicated"]
security{"read":"None","write":"None"}
thread safetyReadSafe
categoryDrag Directions
serialization{"can_load":true,"can_save":false}
capabilities["Physics","Input"]

Methods

NameType / ReturnsDescription
DragDetector:AddConstraintFunctionRBXScriptConnectionAdds a function to modify or constrain proposed motion.
DragDetector:GetReferenceFrameCFrameReturns the reference CFrame in which motion is expressed.
DragDetector:RestartDrag()May be invoked from a script to restart the drag using new parameters.
DragDetector:SetDragStyleFunction()Passes a function to be used if and only if DragStyle is set to DragDetectorDragStyle.Scriptable.
DragDetector:SetPermissionPolicyFunction()Passes a function to be used if and only if PermissionPolicy is set to DragDetectorPermissionPolicy.Scriptable.

Inherited from Instance

NameType / ReturnsDescription
Instance:AddTag()Applies a tag to the instance.
Instance:childrenInstancesReturns an array of the object's children.
Instance:ClearAllChildren()This method destroys all of an instance's children.
Instance:CloneInstanceCreate a copy of an instance and all its descendants, ignoring instances that are not Archivable.
Instance:cloneInstance
Instance:Destroy()Sets the Instance.Parent property to nil, locks the Instance.Parent property, disconnects all connections, and calls Destroy() on all children.
Instance:destroy()
Instance:FindFirstAncestorInstance?Returns the first ancestor of the Instance whose Instance.Name is equal to the given name.
Instance:FindFirstAncestorOfClassInstance?Returns the first ancestor of the Instance whose Object.ClassName is equal to the given className.
Instance:FindFirstAncestorWhichIsAInstance?Returns the first ancestor of the Instance for whom Object:IsA() returns true for the given className.
Instance:FindFirstChildInstance?Returns the first child of the Instance found with the given name.
Instance:findFirstChildInstance
Instance:FindFirstChildOfClassInstance?Returns the first child of the Instance whose ClassName is equal to the given class name.
Instance:FindFirstChildWhichIsAInstance?Returns the first child of the Instance for whom Object:IsA() returns true for the given className.
Instance:FindFirstDescendantInstance?Returns the first descendant found with the given Instance.Name.
Instance:GetActorActor?Returns the Actor associated with the Instance, if any.
Instance:GetAttributeVariantReturns the value which has been assigned to the given attribute name.
Instance:GetAttributeChangedSignalRBXScriptSignalReturns an event that fires when the given attribute changes.
Instance:GetAttributesDictionaryReturns a dictionary of the instance's attributes.
Instance:GetChildrenInstancesReturns an array containing all of the instance's children.
Instance:getChildrenInstances
Instance:GetDebugIdstringReturns a coded string of the debug ID used internally by Roblox.
Instance:GetDescendantsInstancesReturns an array containing all of the descendants of the instance.
Instance:GetFullNamestringReturns a string describing the instance's ancestry.
Instance:GetStyledVariantReturns the styled or explicitly modified value of the specified property, or else the default property value if it hasn't been styled/modified.
Instance:GetStyledPropertyChangedSignalRBXScriptSignalReturns an event that fires when the given style property changes on the instance.
Instance:GetTagsArrayGets an array of all tags applied to the instance.
Instance:HasTagbooleanCheck whether the instance has a given tag.
Instance:IsAncestorOfbooleanReturns true if an Instance is an ancestor of the given descendant.
Instance:IsDescendantOfbooleanReturns true if an Instance is a descendant of the given ancestor.
Instance:isDescendantOfboolean
Instance:IsPropertyModifiedbooleanReturns true if the value stored in the specified property is not equal to the code-instantiated default.
Instance:QueryDescendantsInstancesReturns an array containing all descendants of the instance that match the selector string.
Instance:Remove()Sets the object's Parent to nil, and does the same for all its descendants.
Instance:remove()
Instance:RemoveTag()Removes a tag from the instance.
Instance:ResetPropertyToDefault()Resets a property to its default value.
Instance:SetAttribute()Sets the attribute with the given name to the given value.
Instance:WaitForChildInstanceReturns the child of the Instance with the given name. If the child does not exist, it will yield the current thread until it does.

Inherited from Object

NameType / ReturnsDescription
Object:GetPropertyChangedSignalRBXScriptSignalGet an event that fires when a given property of the object changes.
Object:IsAbooleanReturns true if an object's class matches or inherits from a given class.
Object:isAboolean

DragDetector:AddConstraintFunction

Adds a function to modify or constrain proposed motion. The function takes an input CFrame of proposed motion and returns a CFrame of modified or unmodified motion. Both the input and output are expressed relative to the reference frame. You can add multiple functions which will be called in order by priority, passing the results along in a chain.

To remove an added constraint function, call Disconnect() on the returned connection object.

Parameters

NameTypeDefaultDescription
priorityintThe order of priority for functions added via this method. Higher values take precedence over lower values.
functionFunctionFunction for modifying or constraining proposed motion. This function takes an input CFrame of proposed motion and returns a CFrame of modified or unmodified motion, both relative to the reference frame.

Returns

TypeDescription
RBXScriptConnectionUse this connection object to remove the constraint function.
FieldValue
securityNone
thread safetyUnsafe
capabilities["Physics","Input"]

DragDetector:GetReferenceFrame

Returns the reference CFrame in which motion is expressed; see the ReferenceInstance property for more details.

Returns

TypeDescription
CFrameThe reference CFrame in which motion is expressed.
FieldValue
securityNone
thread safetyUnsafe
capabilities["Physics","Input"]

DragDetector:RestartDrag

May be invoked from a script to restart the drag using new parameters, if parameters such as DragStyle, Axis, or SecondaryAxis change.

Returns

TypeDescription
()
FieldValue
securityNone
thread safetyUnsafe
capabilities["Physics","Input"]

DragDetector:SetDragStyleFunction

Passes a function to be used if and only if DragStyle is set to DragDetectorDragStyle.Scriptable. The given function is called when responding to a DragContinue signal, it receives the signal's world space cursor ray with type Ray, and it returns a CFrame containing the desired location and orientation of the pivot in world space.

If the function returns nil, the object will not be moved. This is useful if the script has not yet collected all the information it needs to give the correct answer, or in temporary cases where you want the object to stay where it is.

Parameters

NameTypeDefaultDescription
functionFunctionFunction for monitoring DragContinue signals. This function receives the signal's world space cursor ray and it returns a CFrame containing the desired location and orientation of the pivot in world space. If this function returns nil, the object will not be moved.

Returns

TypeDescription
()
FieldValue
securityNone
thread safetyUnsafe
capabilities["Physics","Input"]

DragDetector:SetPermissionPolicyFunction

Passes a function to be used if and only if PermissionPolicy is set to DragDetectorPermissionPolicy.Scriptable. The given function accepts a Player parameter for enabling/disabling the detector for a specific player. It also receives a part parameter indicating which specific BasePart was clicked, such as one part within a draggable Model; this is useful for enabling/disabling the detector based on that part's Name, Color, HasTag() value, or other details.

Parameters

NameTypeDefaultDescription
functionFunctionFunction for setting the detector's interactivity. This function accepts a Player parameter for enabling/disabling the detector for a specific player. It also receives a part parameter indicating which specific BasePart was clicked, such as one part within a draggable Model; this is useful for enabling/disabling the detector based on that part's Name, Color, HasTag() value, or other details.

Returns

TypeDescription
()
FieldValue
securityNone
thread safetyUnsafe
capabilities["Physics","Input"]

Code samples: View on Creator Hub (DragDetector-SetPermissionPolicyFunction).

Events

NameType / ReturnsDescription
DragDetector.DragContinueFires when a user continues dragging the object after DragStart has been initiated.
DragDetector.DragEndFires when a user stops dragging the object.
DragDetector.DragStartFires when a user starts dragging the object.

Inherited from ClickDetector

NameType / ReturnsDescription
ClickDetector.MouseClickFires when a player interacts with the parent of a ClickDetector or DragDetector.
ClickDetector.mouseClick
ClickDetector.MouseHoverEnterFires when the parent of a ClickDetector or DragDetector is hovered over by a player.
ClickDetector.MouseHoverLeaveFires when a player's cursor hovers off the parent of a ClickDetector or DragDetector.
ClickDetector.RightMouseClickFires when a player right clicks their mouse cursor on a ClickDetector or DragDetector.

Inherited from Instance

NameType / ReturnsDescription
Instance.AncestryChangedFires when the Instance.Parent property of this object or one of its ancestors is changed.
Instance.AttributeChangedFires whenever an attribute is changed on the Instance.
Instance.ChildAddedFires after an object is parented to this Instance.
Instance.childAdded
Instance.ChildRemovedFires after a child is removed from this Instance.
Instance.DescendantAddedFires after a descendant is added to the Instance.
Instance.DescendantRemovingFires immediately before a descendant of the Instance is removed.
Instance.DestroyingFires immediately before (or is deferred until after) the instance is destroyed via Instance:Destroy().
Instance.StyledPropertiesChangedFires whenever any style property is changed on the instance, including when a property is set to nil.

Inherited from Object

NameType / ReturnsDescription
Object.ChangedFires immediately after a property of the object changes, with some limitations.

DragDetector.DragContinue

Fires when a user continues dragging the object after DragStart has been initiated.

Parameters

NameTypeDefaultDescription
playerWhoDraggedPlayerThe Player who initiated the drag through DragStart and is now continuing the drag.
cursorRayRayRay emanating from the cursor, aimed into the scene.
viewFrameCFrameCFrame of the user's Camera.
vrInputFrameOptionalCoordinateFrameIf using a VR input device, the CFrame of the hand holding the cursor/pointer/controller.
isModeSwitchKeyDownbooleanIf the drag detector's DragStyle has both primary and secondary modes of motion, this parameter indicates whether the user is pressing the modifier input defined through KeyboardModeSwitchKeyCode, GamepadModeSwitchKeyCode, or VRSwitchKeyCode.
FieldValue
securityNone
capabilities["Physics","Input"]

DragDetector.DragEnd

Fires when a user stops dragging the object.

Parameters

NameTypeDefaultDescription
playerWhoDraggedPlayerThe Player who initiated the drag through DragStart and has now ended (released) the drag.
FieldValue
securityNone
capabilities["Physics","Input"]

DragDetector.DragStart

Fires when a user starts dragging the object.

Parameters

NameTypeDefaultDescription
playerWhoDraggedPlayerPlayer who initiated the drag.
cursorRayRayRay emanating from the cursor, aimed into the scene.
viewFrameCFrameCFrame of the user's Camera.
hitFrameCFrameThe hit frame of the cursor raycast that initiated the drag.
clickedPartBasePartThe part that was hit by the cursor raycast that initiated the drag.
vrInputFrameOptionalCoordinateFrameIf using a VR input device, the CFrame of the hand holding the cursor/pointer/controller.
isModeSwitchKeyDownbooleanIf the drag detector's DragStyle has both primary and secondary modes of motion, this parameter indicates whether the user is pressing the modifier input defined through KeyboardModeSwitchKeyCode, GamepadModeSwitchKeyCode, or VRSwitchKeyCode.
FieldValue
securityNone
capabilities["Physics","Input"]