Mouse on plugin isn't updating correctly

I can’t really find much help with this nor plugin related issues.
For some reason, the position of the mouse wouldn’t update unless the cursor is hovering over a button?

Shortened version of the script:

local Held = false
local DB = false

Mouse.Button1Down:Connect(function()
	print("Held down")
	Held = true
	Update()
end)
Mouse.Button1Up:Connect(function()
	print("Held up")
	Held = false
end)

function Update()
	-- Initial Mouse Position when just held
	local MouseX, MouseY = Mouse.X, Mouse.Y
	
	if not DB then
		DB = true
		
		while Held do
			Plugin:Activate(true)
			local Mouse = Plugin:GetMouse() -- I know this isn't necessary but I did it just to be extra sure
			
			print(Mouse.Y - MouseY)
			
			task.wait()
		end
		
		DB = false
	end
end


Again, whilst the cursor is hovering on a button, it prints out correctly, however when it isn’t; it prints out 0.
P.S I also noticed that it doesn’t print “Held down” nor “Held up” If the mouse is hovering on a button ← this might be the issue but I’m not too sure on how to solve it.