Sprite duplicating for no reason.

I’m particularly new on unity, I started studying it on my own using the power of google, tutorials and various forums, in these quarantine days in Italy.
Only that I’m facing a problem that I just can’t solve or explain, and that’s why I’m starting to get depressed :c

in practice: I was following this tutorial here:

for a topdown game.
at 1:40, he creates an emptyobject called “Aim” and attached to it the sprite of the gun, up to here, I was there too, but at 6:00 he decides to move the gun according to “Aim” , simply by dragging the sprite of the gun to the desired position, IN MY CASE, however, the position of the “aim” object is the same as that of the gun, and when I move one, the other also moves …

I realized, however, that the position in the editor were different, so I simply thought it was a visual bug, and in fact everything was fine …
at 7:40, it inserts an animator in the “Aim” object to switch from shooting to idle animation.

and this is where the fun begins, in my case: when I hit play, a second gun, TOTALLY UNEXPECTED AND UNWANTED appears behind the player, and only that gun performs the animations …
I tried to get rid of the original gun and move the Aim object to its place, and as I thought the result was only one gun, but it rotated wrongly lol …


Here there is a video of my problem:

https://vimeo.com/399485619

please i think i’m going crazy Q-Q

i’ve tried giving as much info possible as i can’t understand where is the problem or what i’ve done wrong… if other info are missing, i can provide them

public class shoot : MonoBehaviour
{
  private Transform aimTransform;
  private Animator aimAnimator;
  public Transform firePoint;
  public GameObject bulletPrefab;
  public float bulletForce = 20f;

  private void Awake()
  {
    aimTransform = transform.Find("Aim");
    aimAnimator = aimTransform.GetComponent<Animator>();
  }
  private void Update()
  {
    HandleShooting();
  }
  private void HandleShooting()
  {
    if(Input.GetMouseButtonDown(0))
    {
      aimAnimator.SetTrigger("Shoot");
      GameObject bullet = Instantiate(bulletPrefab, firePoint.position, firePoint.rotation * Quaternion.identity );
      Rigidbody2D rb = bullet.GetComponent<Rigidbody2D>();
      rb.AddForce(firePoint.up * bulletForce, ForceMode2D.Impulse);
    }
  }
}

(for some reason i can’t put the code in the post as it’s “Spam content” lol)