# Controlling recoil by dragging fire button down like PUBG Mobile

**URL:** <https://forums.unrealengine.com/t/controlling-recoil-by-dragging-fire-button-down-like-pubg-mobile/482719>\
**Category:** Community & Industry Discussion\
**Tags:** shooting, shooter-game, tps, unreal-engine, fps, question\
**Created:** [April 30, 2021, 5:53pm UTC](https://forums.unrealengine.com/t/controlling-recoil-by-dragging-fire-button-down-like-pubg-mobile/482719 "2021-04-30T17:53:44Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![ishtmeet\_singh](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/8/5/28502927f1d97ba1051b3b47ccfe17233bf41ef0.png) [@ishtmeet\_singh](https://forums.unrealengine.com/u/ishtmeet_singh)\
**Post date:** [April 30, 2021, 5:53pm UTC](https://forums.unrealengine.com/t/controlling-recoil-by-dragging-fire-button-down-like-pubg-mobile/482719/1 "2021-04-30T17:53:44Z")

</div>

Can anyone tell how can I control recoil by dragging the fire button down like in PUBG Mobile. I have tried everything and was able to get Finger Index using OnPreviewMouseButtonDown but it didn’t work well as Finger Index is only useful when not clicking on a button.

When I press and hold a button and pass FingerIndex into GetInputTouchState, the returned boolean (Finger Index Is Currently Pressed is always false). It seems like finger index is only useful when not clicking button.

Also I tried with OnDragDetected events and couldn’t find a solution there too.

I feel like that the only way to do is by making something like SLeafWidget in C++, which I really don’t want to do (I think so because unreal mobile VirtualJoystick is derived from SLeafWidget and works pretty well).

Can anyone help me with a workaround for this in the WidgetBlueprint only?

All I want to know is the finger location all the time(from the time the fire button is pressed until it is released).

Any little help will be appreciated. Thankyou!
