Learn
Engine Class
ClickDetector

Summary
Events
MouseClick(playerWhoClicked: Player):RBXScriptSignal
mouseClick(playerWhoClicked: Player):RBXScriptSignal
Deprecated
Inherited Members
Inherited by
Code Samples
ClickDetector Example
local clickDetector = script.Parent
local function onClicked(player)
-- Show a message to the player
local msg = Instance.new("Message")
msg.Parent = player:FindFirstChild("PlayerGui")
msg.Text = "Hello, " .. player.Name
wait(2.5)
msg:Destroy()
end
-- Connect the function to the MouseClick event
clickDetector.MouseClick:Connect(onClicked)
Part Anchored Toggle
local part = script.Parent
-- Create a ClickDetector so we can tell when the part is clicked
local cd = Instance.new("ClickDetector", part)
-- This function updates how the part looks based on its Anchored state
local function updateVisuals()
if part.Anchored then
-- When the part is anchored...
part.BrickColor = BrickColor.new("Bright red")
part.Material = Enum.Material.DiamondPlate
else
-- When the part is unanchored...
part.BrickColor = BrickColor.new("Bright yellow")
part.Material = Enum.Material.Wood
end
end
local function onToggle()
-- Toggle the anchored property
part.Anchored = not part.Anchored
-- Update visual state of the brick
updateVisuals()
end
-- Update, then start listening for clicks
updateVisuals()
cd.MouseClick:Connect(onToggle)

API Reference
Properties
CursorIcon
Read Parallel
Capabilities: Input
ClickDetector.CursorIcon:ContentId

CursorIconContent
Read Parallel
Capabilities: Input
ClickDetector.CursorIconContent:Content

MaxActivationDistance
Read Parallel
Capabilities: Input
ClickDetector.MaxActivationDistance:number

Events
MouseClick
Capabilities: Input
ClickDetector.MouseClick(playerWhoClicked:Player):RBXScriptSignal
Parameters
playerWhoClicked:Player

mouseClick
Deprecated

MouseHoverEnter
Capabilities: Input
ClickDetector.MouseHoverEnter(playerWhoHovered:Player):RBXScriptSignal
Parameters
playerWhoHovered:Player
Code Samples
Hovering Over and Off a ClickDetector
local clickDetector = script.Parent:FindFirstChildOfClass("ClickDetector")
clickDetector.MouseHoverEnter:Connect(function(player)
print(player.Name .. " hovered over my parent!")
end)
clickDetector.MouseHoverLeave:Connect(function(player)
print(player.Name .. " hovered off my parent!")
end)

MouseHoverLeave
Capabilities: Input
ClickDetector.MouseHoverLeave(playerWhoHovered:Player):RBXScriptSignal
Parameters
playerWhoHovered:Player
Code Samples
Hovering Over and Off a ClickDetector
local clickDetector = script.Parent:FindFirstChildOfClass("ClickDetector")
clickDetector.MouseHoverEnter:Connect(function(player)
print(player.Name .. " hovered over my parent!")
end)
clickDetector.MouseHoverLeave:Connect(function(player)
print(player.Name .. " hovered off my parent!")
end)

RightMouseClick
Capabilities: Input
ClickDetector.RightMouseClick(playerWhoClicked:Player):RBXScriptSignal
Parameters
playerWhoClicked:Player

©2026 Roblox Corporation. Roblox, the Roblox logo and Powering Imagination are among our registered and unregistered trademarks in the U.S. and other countries.