Use geometry nodes to throw particles dynamically!
Arrow Launcher is a geometry nodes simulation that makes it possible to thow arrows or any kind of particles using geometry nodes.

The particles stick to the surface
Limitation: only the target location is supported, the arrows does not follow the target rotation

You can add it to any object, even texts

It is possible to add colliders

It is possible to launch the arrows above obstacles
To do this, change the Height parameter

You can control the particles speed

Main features:
- The particles are oriented in world space.
- High performance.
- The arrows stick to the surface they collided with, but I couldn't figure out how to handle the rotation yet.
- High precision: a kinematic equation is used to calculate the trajectory of the arrows.
- It is possible to launch the arrows above obstacles by changing the Height parameter.
- It is possible to control the arrows fall speed by changing the Gravity parameter.
- Use your creativity: you can replace the arrow particles by anything you want.
Check out the documentation for usage details.