Projectile doesn't go towards crosshair's direction!

AimDir is undefined when you don’t hit anything, so the behaviour is unpredictable. And CameraRot.Vector() * 1000 is 1000cm, so 10 meters. You sure you aimed at something less than 10 meters away?