Measuring change in vector length over time?

Is there a good way to measure a change in vector length over time?

How I’ve gotten here:

  • I’ve set my right-stick axis dead zones to “0” to avoid stickiness at the cardinal directions
  • That resulted in stick-input being too sensitive. Older game pads don’t come to rest at 0,0, so there tends to be some level of input even when your thumbs are off the stick. Also, people don’t push input sticks straight out to where they want to aim, so while pushing the stick out to aim, there’s invariably a bunch of wobbling of aiming as the tiny changes left and right are displayed.
  • I fixed most of that issue by measuring the stick-input vector-length (which is clamped to “1”) and making sure the length is over 0.25. This effectively creates an inner-radius dead zone instead of the cross-shape dead zone that comes from the axis dead zones.

My current problem is that, when I release a thumbstick completely, or I change aiming in a dramatic way, my finger doesn’t come straight off the stick, it tends to have some roll to it. And it’s not unlikely the controller itself isn’t pulling the stick exactly straight back to 0,0 position. This tends to result in some wobbly movement when I release the thumbstick, or when I dramatically change the input vector.

I was thinking that I could fix this by measuring whether the vector is getting smaller at a certain speed (suggesting that the player is releasing the stick or adjusting aim dramatically, as opposed to feathering the stick) and, if it exceeds that speed, ignore it.

My question is how, in Blueprints, I could measure the speed of a vector change, such that I could ignore the input if it’s decreasing by a certain speed?

Appreciate any help!