When you detect a collision, you could set the arrow's RigidBody mode to MODE_STATIC
. https://docs.godotengine.org/en/latest/classes/class_rigidbody.html#enum-rigidbody-mode
To detect collisions on a rigid body, you must first enable the contact monitor property. Then, you can connect your arrow's body_entered
signal.
The rigid body can only report on collisions with other rigidbodies though. and setting the arrow to MODE_STATIC will make it stay hovering in space, it won't stick to the target if it moves. To correct that, you can add the arrow a child of its target.