Touch Hold User Input

Atm Im trying to make a system where a player (who is playing on a touch screen device) presses and holds in order to throw something. While holding, a bar starts filling up.

What I am trying to do is :

  • Use TouchTapInWorld to make sure the player is not tapping on a UI element and nothing is thrown or put up if it is.
  • Put up a bar that fills up while holding on TouchStarted.
  • Throw on TouchEnded.

What I am struggling with is how I am going to sync up those three events together as I cannot fit in the TouchTapInWorld and I do not want to end up using only TouchStarted and TouchEnded and have players throw something while trying to move for example.

Any suggestion of what I should do please?

P.S TouchLongPress takes a bit too long that is why I have not considered it.