If its in normal script then u can’t do player:GetMouse().
You can use remote Event when the mouse hovers in clickDetector and fire into client .
In a local script u can do
local player = game.Players.LocalPlayer
local mouse = player:GetMouse()
game.ReplicatedStorage.EventName.OnClientEvent:Connect(function()
Mouse.Icon = " "-- ur icon id here --
end)
and again u can use another remote event to fire client to change into the default icon.
If I’m incorrect please correct me.
This is a bug caused by changing the Mouse.Icon via a local script. It’s been acknowledged by a developer relations member but since January 2021 there has been no updates or anything about it.
Edit: To clarify, I’m talking about how you cannot change the ClickDetector.CursorIcon value when using a custom Mouse.Icon.