Instantiating an animation with a correct position and rotation, allow mutliple playing simultaneous

I’ve tried my best to understand ths but it has truly evaded me. I’m using URP 2d and want to create a spark effect that appears at a certain position (doesn’t move after appearing).

What i’ve tried:

    public void PlaySparkAnimation() {


        sparksSpawnerGO.GetComponent<Transform>().position = bossGO.GetComponent<Transform>().position + bossGO.GetComponent<Transform>().right;
        sparksSpawnerGO.GetComponent<Transform>().eulerAngles = bossGO.GetComponent<Transform>().eulerAngles;


        Transform spawnerTransform = sparksSpawnerGO.transform;


        GameObject anim0 = Instantiate(set1_0, spawnerTransform);
        GameObject anim1 = Instantiate(set1_1, spawnerTransform);


        anim0.GetComponent<Animator>().Play("sp0");
        anim1.GetComponent<Animator>().Play("sp1");






        if (alternateSpark == false) {
            print("spark1");
            sparks1GO.GetComponent<Animator>().Play("sp1_0", 0);
            alternateSpark = true;
        } else {
            print("spark2");
            sparks2GO.GetComponent<Animator>().Play("sp1_1", 1);
            alternateSpark = false;
        }


    }

two have (at least) two sparks playing at the same time i’ve tried alternating them playing with instantiate, this gives them the correct position, rotation, and not move with the spark creating event (a collision with two objects). However, once a spark is playing it will still cancel the previous animation. in fact, it will do the same animation (tested with color coding them) until it’s been allowed to finish, then the other animation is able to play. Is there an easier way to do this or any idea what’s going wrong?

Edit: I’ve not been using particle systems because i’m using 2D URP lights which i read doesn’t support it

    public void PlaySparkAnimation() {


        sparksSpawnerGO.GetComponent<Transform>().position = bossGO.GetComponent<Transform>().position + bossGO.GetComponent<Transform>().right;
        sparksSpawnerGO.GetComponent<Transform>().eulerAngles = bossGO.GetComponent<Transform>().eulerAngles;

        GameObject go = Instantiate(explosionPrefab, sparksSpawnerGO.transform.position, sparksSpawnerGO.transform.rotation);

        Destroy(go, 5);
    }

this worked