You can do it in a similar way to keyboard, storing the state by yourself: enum States {None, GoingDown, GoingUp } States Current, Previous; void Update() { Previous = Current; if (thumbStiscks.Y>0.5) State = States.GoingUp else if (thumbSticks.Y<-0.5f) Sate = States.GoingDown else State = States.None; if (Current == States.GoingDown && Previous != States.GoingDown) { .... } .... } Maybe a good idea using keyboard to change the Current state too.