Controlling the update position of a cloned Gameobject C#

Hi everyone here’s my problem!

I’m doing a 2D game were i got a ninja that slash when the mouse is press. The slash is a gameobject that get instantiated at the position of a empty gameObject everytime then die really quickly. Problem is when it get instantiated and if my player is moving the slash object is left behind.

What I want is that when the Clone of the slash is instantiated I want it’s position to follow the slash GameObject position every frames. Anyones got an idea. Here’s my code (it’s in the mouseButton Event) :

public class PLayerController : MonoBehaviour {

	public float MaxSpeed = 7f;
	public bool facingRigth = true;

	Animator anim;

	bool grounded = false;
	public Transform groundCheck;
	float groundRadius =0.2f;
	public LayerMask whatIsGround;
	public float jumpForce = 500;

	//Attacking
	public Transform slash;
	public GameObject slashObjectL;
	public GameObject slashObjectR;

	// Use this for initialization
	void Start () 
	{
		anim = GetComponent<Animator> ();
	}
	
	// Update is called once per frame
	void Update () 
	{
		//Jumping
		if(grounded && Input.GetKeyDown(KeyCode.Space))
		{
			anim.SetBool("Ground", false);
			rigidbody2D.AddForce(new Vector2(0,jumpForce));
		}

		if(Input.GetMouseButtonDown(0))
		{
			if(facingRigth)
			{

				GameObject slashLCopy = (GameObject)Instantiate(slashObjectL, slash.position, slash.rotation);
				slashLCopy.transform.position = new Vector2(slash.position.x, slash.position.y); //NOT WORKING!!!!!!!

			}
			if(!facingRigth)
			{

				GameObject slashRCopy = (GameObject)Instantiate(slashObjectR, slash.position, slash.rotation);
				//slashRCopy.transform = slash.position; //NOT WORKING EITHER!!!!
			}


		}
	}

	void FixedUpdate()
	{
		grounded = Physics2D.OverlapCircle(groundCheck.position,groundRadius, whatIsGround);
		anim.SetBool("Ground", grounded);

		//Jumping
		anim.SetFloat("vSpeed", rigidbody2D.velocity.y);

		float move = Input.GetAxis ("Horizontal");
		anim.SetFloat ("Speed", Mathf.Abs (move));
		rigidbody2D.velocity = new Vector2(move * MaxSpeed, rigidbody2D.velocity.y);

		if(move > 0 && !facingRigth)
			Flip();
		if(move < 0 && facingRigth)
			Flip();

	}

	void Flip()
	{
		facingRigth = !facingRigth;
		Vector3 theScale = transform.localScale;
		theScale.x *= -1;
		transform.localScale = theScale;
	}

}

I would think that you would want to make the slash a child of the player.

pseudo code:

slashObject.transform.parent = playerObject.transform;

This will make the slash follow the player as the player moves. I believe you can offset the slash from the parentObject by instantiating from a prefab with its vector positions set to the amount you want to offset from the parent object.