As a Roblox developer, it is currently too hard to know if I can use GetPropertyChangedSignal
on a given property.
As per the documentation, GetPropertyChangedSignal
does not work on every property.
The event returned by this method does not fire for physics-related changes, such as when the CFrame, AssemblyLinearVelocity, AssemblyAngularVelocity, Position, or Orientation properties of a BasePart change due to gravity. To detect changes in these properties, consider using a physics-based event like RunService.PreSimulation.
Additionally, the returned event may not fire on every modification of properties that change very frequently, and/or it may not fire for such properties at all. It’s recommended that you carefully test for property changes that impact game logic.
Although this caveat is understandable, the user experience for using this method is very poor. The only way to be sure if GetPropertyChangedSignal
works on a property is to test it separately first. The documentation only gives some vague description of properties it probably doesn’t work on.
I would love it if studio could warn me in some form - be it in the script editor or in the output - when I am trying to use this method on any of the excluded properties. It would make debugging code involving GetPropertyChangedSignal
a lot simpler.