Shooting script C#

I’m trying to make a shooting script for my 2D game, but it’s not working. If the mousePos.x < playerPos.x the bullets just switch direction. I understand why this is happening, but I cannot find a fix. How can I make is so the bullets spawn with an initial unchanged speed and direction?

 using UnityEngine;
 using System.Collections;
 
 public class bulletScript : MonoBehaviour {
 
     public float bulletSpeed = 100f;
     private Vector2 mousePos;
     private Vector3 playerPos;
     public GameObject bullet;
 
     // Use this for initialization
     void Start () {
 
     }
 
     // Update is called once per frame
     void Update () {
 
         if (Input.GetMouseButtonDown(0)) {
             Instantiate (bullet, playerPos, Quaternion.identity);
         }
 
         if (mousePos.x > playerPos.x) {
             transform.position += Vector3.right * Time.deltaTime * bulletSpeed;
         } 
 
         if (mousePos.x < playerPos.x)
         {
             transform.position += Vector3.left * Time.deltaTime * bulletSpeed;
         }
 
         mousePos = Camera.main.ScreenToWorldPoint(new Vector2(Input.mousePosition.x, Input.mousePosition.y));
         playerPos = GameObject.Find ("squiddy").transform.position;
 
     }
 }

For starters, you’re searching for your player gameobject every frame. Put “player = GameObject.Find(“squiddy”);” in the start function of your game, and update it’s position in the beginning of the update function like so: “playerPos = player.transform.position;”. In your script, your using “transform.position” which means your targetting the transform the script is attached to, but your instantiating the bullet GameObject and trying to effect that. “bullet.transform.position += Vector3.left * Time.deltaTime * bulletSpeed;”