I am making a local script that will close a Gui when a player gets so far from a block but the .Changed event is not firing on the player.Character.Torso when they move, I know I could just use a while loop but I find those inefficient.
✓ ANSWER ACCEPTED
Why doesn't .Changed fire when a part.Position is changed?
1 answer
✓ Accepted answer
Changed is only fired when a value is set. There is no event to detect movement. You can use DistanceFromCharacter to tell how far away the character is in a while loop, and make sure that it is not equal to 0.
This discussion is preserved as it was. New answers, comments, and votes are closed.

1 comment
Yeah but I was hoping there was a better way that a while loop but I guess I'm just going to have to except it.