currently my player throws granades, but its always the same direction with the same power. Would be nice for the player to adjust the throwing power depending on how long he holds the button down. a tap would drop it just by his beet and then holding it down for 1 and a half seconds would be maximum.
What button function would you use to accomplish this?
Each frame the button is pressed increase your throw force such that you go from min to max over some duration, like 1.5 seconds. When you release the button throw the grenade using that throwforce and reset it back to 0.
Yes, like Yoreki says, you need to track how long the button is held and increment your notion of fling velocity.
Normal Unity UI buttons cannot do this alone… to do this you need to add a component called EventTrigger to them. This lets you track individual down (and up) events on the button, which you would use to start charging the grenade, and then release it, respectively.
I also like your spaceman-blown-to-bits animation in your gameplay video. Cool! CHOOF!