I have tried onChanged and that didn't work here is what I tried:
local object = script.Parent
local function onChanged(property)
local value = object[property]
print(object:GetFullName() .. "." .. property .. " (" .. typeof(value) .. ") changed to " .. tostring(value))
end
object.Changed:Connect(onChanged)
And I have also tried this:
script.Parent.Part.Changed:Connect(function(NewValue)
print(NewValue)
print("Worked")
end)

1 comment
Google GetPropertyChanged Event. I personally rarely use it