It depends on the use case, if it’s a melee weapon for which you need an accurate hitbox (hits only when the actual blade touches the opponent, for example) - you can use a raycast hitbox. Otherwise, a workspace:GetPartBoundsInBox() will work just fine.