One quick method i just tested:
plane (like the white background in your video) with collider set to trigger
you can delete its mesh renderer to make it invisible and translate it to the players position
FSM on your arm/hand/gun or whatever you want:
action mouse pick, store point, every frame
action smooth look at, target position: point
play around with up vector/keep vertical/speed to fit your demands or rotate you mesh/parent
... and with mouse pick event at mouse down you could simply create a bullet prefab at position gun. This prefab uses a translate, move or force action heading its lokal front position.
That's just a quick way you could tweak and build on.
Greetings