How to detect when Mouse.Target changes without using Mouse.Move?

Hello! I am trying to detect whenever the mouse’s target changes. Here is the code:
image
It is not printing. I want to avoid using Mouse.Move if possible because I think it may contribute to lag if it constantly checks when the mouse moves. Is this possible or do I have to use mouse.Move?

Why is there a
" Local Char " ?

I’m using more variables for better readability. Char is a temporary variable that I’m gonna use later in the script. I just need to know why it’s not working as it is now.

This is a local script right? Additionally, where is it placed?

It is placed in a gui which is in StarterGui, and is a local script. There are no errors being printed