Allow A Model's Scale To Be Watchable With A Changed Signal

Currently in my project, I need to position something relative to a model. This works great if the models scale never changes, but if it does, the position logic does not function correctly.

My current workaround is to query the models Scale every time I update my positioning logic. This also works great, but only if I have a few of these simulations running at once, as Model:GetScale() is an expensive operation.

I would like for there to be a way where I can have a changed signal with a models scale. Something similar to:

model:GetPropertyChangedSignal("Scale"):Connect(function()
    local scale = model:GetScale()
    print("Scale updated", model, scale)
end)

This would allow me to internally track the scale, and perform my computations using the cached scale, instead of having to read the Scale to ensure it is correct every time.

12 Likes

The need for this is for my animation handler:

1 Like

I support this. I currently use a loop for this so I can return any values it adjusts (like walkspeed) back to the original values

1 Like