Making bullets go to the centre of the screen

In my shooter, the gun and GameObject that creates bullets are to the right of the camera, as if they were being held my someone right handed. However, this causes the bullets to land to the right of my crosshair, unless they go a loooong way away. How could I fix this?

If you're using a Vector3 to describe the path of the bullet you can decrease the x value (or whichever axis correlates to the screen's width) which should adjust the trajectory to hit your cross-hairs sooner. Once you have a value you like, you can always get rid of the bullet after it passes through the cross-hairs (since it will inevitably be passing from right to left).

Do a ScreenToWorldPoint and make that the endpoint of the ray for your bullet Raycast. Then set your "target" point as the raycast hitpoint, or the limit of your weapon's range (if the ray hits nothing). That way, even if the target is right up close or way far away, the bullet will always end up striking the world at whatever is under your crosshairs. I use this myself, and, coupled with some code to point the player's weapon at this point (so that the bullet isn't coming out sideways), it works pretty well...