Rig can move at variable speeds, as it is all driven by the velocity of the root bone.
Calculating Velocity
World delta divided by delta time
Calculating Foot Timing
Offset time for each foot is set manually in an array
Updating Foot Predicitions
Draws the line trace shown in the first image and adds calculated velocity to determine new location for foot
Move Feet Transforms
Determines if feet are locked or not, then lerps between previous foot location and the predicted one, while also raising and lowering the foot
IK Setup

Root bone is also affected by random noise on the z axis driven by velocity