Reference API Roblox

Engine API

Website

Related

Reference API Roblox

ClickDetector

An object that provides user input on in-experience BaseParts and Models.

Member index 8

HistoryMember
645CursorIcon: ContentId
553MaxActivationDistance: float
483MouseClick(playerWhoClicked: Player)
483MouseHoverEnter(playerWhoHovered: Player)
483MouseHoverLeave(playerWhoHovered: Player)
483RightMouseClick(playerWhoClicked: Player)
553mouseClick(playerWhoClicked: Player)
inherited from Instance
553Archivable: bool
635Capabilities: SecurityCapabilities
553Name: string
553Parent: Instance
635Sandboxed: bool
616UniqueId: UniqueId
576AddTag(tag: string): null
573ClearAllChildren(): null
462Clone(): Instance
573Destroy(): null
486FindFirstAncestor(name: string): Instance
486FindFirstAncestorOfClass(className: string): Instance
486FindFirstAncestorWhichIsA(className: string): Instance
486FindFirstChild(name: string, recursive: bool = false): Instance
486FindFirstChildOfClass(className: string): Instance
486FindFirstChildWhichIsA(className: string, recursive: bool = false): Instance
486FindFirstDescendant(name: string): Instance
563GetActor(): Actor
486GetAttribute(attribute: string): Variant
462GetAttributeChangedSignal(attribute: string): RBXScriptSignal
631GetAttributes(): Dictionary
648GetChildren(): Instances
462GetDebugId(scopeLength: int = 4): string
486GetDescendants(): Array
486GetFullName(): string
641GetStyled(name: string): Variant
576GetTags(): Array
576HasTag(tag: string): bool
486IsAncestorOf(descendant: Instance): bool
486IsDescendantOf(ancestor: Instance): bool
580IsPropertyModified(name: string): bool
573Remove(): null
576RemoveTag(tag: string): null
580ResetPropertyToDefault(name: string): null
573SetAttribute(attribute: string, value: Variant): null
462WaitForChild(childName: string, timeOut: double): Instance
648children(): Instances
553clone(): Instance
573destroy(): null
553findFirstChild(name: string, recursive: bool = false): Instance
648getChildren(): Instances
553isDescendantOf(ancestor: Instance): bool
573remove(): null
462AncestryChanged(child: Instance, parent: Instance)
462AttributeChanged(attribute: string)
462ChildAdded(child: Instance)
462ChildRemoved(child: Instance)
462DescendantAdded(descendant: Instance)
462DescendantRemoving(descendant: Instance)
500Destroying()
553childAdded(child: Instance)
inherited from Object
647ClassName: string
647className: string
647GetPropertyChangedSignal(property: string): RBXScriptSignal
647IsA(className: string): bool
650isA(className: string): bool
647Changed(property: string)

Description

ClickDetector allows Scripts and LocalScripts to receive pointer input on 3D objects through their MouseClick event. They work when parented to BasePart, Model, or Folder objects. They detect basic mouse events: enter, leave, left click and right click. Touch input on TouchEnabled devices also fires click events.

The default control scripts bind ButtonR2 to interact with ClickDetectors using ContextActionService:BindActivate(), which can also be used to override this. When using gamepads, the center dot triggers MouseHoverEnter and MouseHoverLeave. The bound activation button fires MouseClick.

MaxActivationDistance can be used to limit the distance a player may be from a click detector before it is no longer clickable.

ClickDetector events fire on both the client and the server. Since a LocalScript will only run if it descends from a Player or player Character, it's usually not useful to put a LocalScript inside a ClickDetector, since the script won't run or the object won't be clickable. If you need a LocalScript to detect ClickDetector events, StarterPlayerScripts may be a better place instead.

Input Priority

If multiple ClickDetectors may detect user input, only the deepest will fire events. If two ClickDetectors are siblings, the first will take priority.

If an action bound with ContextActionService uses the same input as a ClickDetector, the action bound with ContextActionService will take priority over the click detector's events.

UserInputService.InputBegan will fire before ClickDetector events.

History 30

Members 8

CursorIcon

TypeDefault
ContentId

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

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

History 4

MaxActivationDistance

TypeDefault
float32

This property controls the maximum distance, in studs, between a Character and the ClickDetector or DragDetector for the player to be able to interact with it. For instance, a character within 10 studs of a ClickDetector or DragDetector with a max activation distance of 5 would not be able to use the detector because they are out of range.

History 4

MouseClick

Parameters (1)
playerWhoClickedPlayer

This event fires from either a Script or LocalScript when a player interacts with a ClickDetector or DragDetector via the following inputs:

  • On platforms with a mouse, when the player left mouse clicks.
  • On TouchEnabled platforms, when the player taps.
  • On GamepadEnabled platforms, when the center dot is over the same model and the A button is pressed and released.

Note that the player's Character must be within the MaxActivationDistance of the detector.

History 3

MouseHoverEnter

Parameters (1)
playerWhoHoveredPlayer

This event fires from either a Script or LocalScript when the parent of a ClickDetector or DragDetector is hovered over by a player. This does not entail explicit interaction with the detector, for which you can listen to either MouseClick and RightMouseClick events.

Due to the nature of user input, you should not depend on all MouseHoverEnter events firing a corresponding MouseHoverLeave event.

History 3

MouseHoverLeave

Parameters (1)
playerWhoHoveredPlayer

This event fires from either a Script or LocalScript when a player's cursor hovers off the parent of a ClickDetector or DragDetector. This does not entail explicit interaction with the detector, for which you can listen to either MouseClick and RightMouseClick events.

Due to the nature of user input, you should not depend on all MouseHoverLeave events firing after a corresponding MouseHoverEnter event.

History 3

RightMouseClick

Parameters (1)
playerWhoClickedPlayer

This event fires from either a Script or LocalScript when a player right clicks their mouse cursor on a ClickDetector or DragDetector. Note that the player's Character must be within the MaxActivationDistance of the detector.

History 5

mouseClick

Parameters (1)
playerWhoClickedPlayer
This event is deprecated. It exists only for backward compatibility, and should not be used for new work. MouseClick should be used instead.

History 6

Tags: [Deprecated]

Settings