haven’t tested it myself but I would solve it like this:
Create a part, name it hitbox and use a RigidConstrant to bind the thrown part and the hitbox.
Make the hitbox the same shape as the part and make it CanCollide false
Use a loop to constantly check if there’s any parts (Beyond the thrown item) within this hitbox.
If there is a part within this hitbox (and if you want you could also check if the linear assembly velocity drops by more than 10% or what ever value), fire the sound
Make the hitbox smaller for more accurate sounds, run the code on the client so that the physics doesn’t cause lag