ClickDetector CursorIcon not changing CursorIcon while having custom Cursor

Title might be a little messy, but hear me out.

I have a custom icon, which is white. What I want to do, is when hovering with your mouse over a object with clickdetector, I want the mouseicon to change to a green one, and I can’t seem to make it work. It looks like the green icon is under the white icon. Am I doing something wrong here?

this is my localscript

local mouse = game.Players.LocalPlayer:GetMouse()	
mouse.Icon = "rbxassetid://7277760836"

Here is my ClickDetector:
image
I tried changing the CursorIcon with a script, but it still doesn’t work. Here’s a video:

1 Like

bump, still trying to figure out a solution

3 Likes

hello, still can’t get my head around this

4 Likes

You are automatically setting the players mouse to the cursor icon mouse click detector, hence, it will be a dot already, and if you hover the click detector, it will change the icon, but, since the mouses are the same, it will not change visually.

1 Like

Because you are using a custom mouse pointer you won’t be able to see the click detector on PC so you will need to change the icon based on MouseHover event

Examples can be found here
https://developer.roblox.com/en-us/api-reference/event/ClickDetector/MouseHoverEnter

Apologies for the bump, but I’ve just tried this solution and it doesn’t seem to work. A server script can’t see the mouse.Icon property. Is there another way to go about this? I don’t think having a RemoteEvent for every button hover is efficient.
(To clarify, the MouseHoverEnter and MouseHoverLeave events work as intended, but the server script they’re used in can’t see a mouse.Icon property if mouse is a variable for a player’s mouse)

You can use the MouseAppearance property on the player object.
local player = game.Players.LocalPlayer
local mouse = player:GetMouse()

– MouseIcon is not supported anymore, use MouseAppearance instead.
– mouse.Icon = “rbxassetid://7277760836”

mouse.Icon = “”
mouse.MouseAppearance = Enum.MouseAppearance.Hand

local clickDetector = script.Parent:FindFirstChild(“ClickDetector”)

clickDetector.MouseEnter:Connect(function()
mouse.MouseAppearance = Enum.MouseAppearance.Hand
end)

clickDetector.MouseLeave:Connect(function()
mouse.MouseAppearance = Enum.MouseAppearance.Default
end)