Make Boost System Not Reliant On FPS

So Essentially in my game I have a shotgun that blasts you opposite of where it is aiming. This is done by setting a variable called boost and then subtracting that variable down until it hits zero, I personally have two sections where it is subtracted at different amounts so the boost is a smooth stop instead of abrupt. But the issue Im having is that at different FPS you are boosted differently and all types of jank is happening, I have tried tying the subtraction to a timer, using time delta, and other things but I just cant get this working, any advice?

EDIT: Im able to get the boost to be the same no matter the fps by changing it from and instant force every frame to a permenant but now Im not sure how to get that nice smooth stop instead of abrupt

Sounds like you could do all this with a positional tween.

Add the tween behaviour to your player, and then use a position tween to move the player.

Could you explain it a little bit more? What in specific would I be tweening, like the position? If so how would I get the direction it needs to boost and apply that?

Instead of adding/subtracting 1
Add/subtract TimeDelta() / 0.0167

So if you have there action to subtract 10
Instead you go with subtract TimeDelta() / (0.0167 * 10)

With 220 TimeDelta() / (0.0167 * 220)

Actually it works I just messed with the variables, If I may ask, why does this work? What is it doing so i can apply it in the future

Look

If we take 1 sec and divide it by 120 we gonna get something like 0.008333333333333333 ← that is more or less time delta for 120 fps
Between each frame 0.008333333333333333 sec passed

If we divide 1 sec into 60 we get 0.016666666666666666
So time delta for 60 fps is more or less 0.016666666666666666 sec

Narrowing it down

120 fps time delta = 0.0083
60 fps time delta = 0.016
60 fps generate higher time delta than 120 fps
BUT 1 second is 1 second
Who the hell care how much you add to variable each frame if after 1 second you gonna have always same value?

Its like i give you choice do you want to get 1$ each day for a week which is 7 * 1 = 7$
OR
For a week get 50 cents each 12 hour
Which is 7 * 0.50 = 7$
Result is the same
You are adding actual time flow and not some static number

NOT exactly accurate but actually something that will sound like making more sense is
Think you are adding actual time flow
You do not add 5 or 7 or 2 or 0.424
You are adding HOWEVER much time has passed since something happened

Where TimeDelta()/0.0167 is same amount FOR 60FPS game as you would just add 1
So using TimeDelta()/0.0167 on 120 fps game will add 1 to that whatever as fast as it would add 1 in 60 fps game