Here is the script I was using to test GetPropertyChagnedSignal:
local part = Instance.new("Part")
part.Parent = game.Workspace
local Velo = Instance.new("BodyVelocity")
Velo.Parent = part
Velo.Velocity = Vector3.new(0,2,0)
function CheckPositionChange()
print("position changed")
end
part:GetPropertyChangedSignal("Position"):connect(CheckPositionChange)
I would think that the CheckPositionChange function would fire as the body velocity is causing the part's position to change, but I am not getting any output. However, when I change the part's position by going into the properties tab, it does fire.
Am I missing something here? Any help would be appreciated.

1 comment
Seeing that the position property would change every physics update, i'd suggest to just use RunService.Stepped:Connect(function)