Vector3.Forward not working?

Hello,
I’m trying to make a simple gun (for now) which shoots a ray (using a line renderer, all that stuff…), however there seems to be a problem to where the laser or raycast is going.
I have a simple cube/rectangle with a child attached to it. The Z-axis are both facing the same direction. But when I use the following code, the raycast goes off towards the worlds Z axis.
I’ve tried so many things and I’ve been searching for quite a while now. It’s probably something really obvious here.

//Below is the code that 'works'. Direction being the player direction - the original point.
Ray Laser = new Ray(BulletSpawn.transform.position, direction);

//The code below shoots the ray off to the north (z-axis)
Ray Laser = new Ray(BulletSpawn.transform.position, Vector3.Foward);

//The code below does all sorts of crazy stuff, inverted directions (I have no idea what the hell is going on there).
Ray Laser = new Ray(BulletSpawn.transform.position, target.transform.position);

Vector3.forward will always return Vector3(0, 0, 1) which ignores the bullet’s direction.

Use transform.forward as shown in the documentation.

You should hopefully then have something along the lines of

Ray Laser = new Ray(BulletSpawn.transform.position, BulletSpawn.transform.forward);