public static UnityAction <float> AddOnValueChangedActionThrottled(this Slider self, Action <float> onValueChanged, double delayInMs = 1000) { EventHandler <float> action = (_, newFloat) => { onValueChanged(newFloat); }; var throttledAction = action.AsThrottledDebounce(delayInMs, skipFirstEvent: true); return(self.AddOnValueChangedAction((newValue) => { throttledAction(self, newValue); return true; })); }