Line of code not working

private Vector2 moveDirection = Vector3.zero;
public Animator anim;
public float moveSpeed = 5f;
public Rigidbody2D rb;
public Vector2 movement;
public Vector3 resPos;
public HPBar hP;
public bool icy;
public bool Laser;

void FixedUpdate (){
    
    if (icy == true)
    {
        rb.MovePosition(rb.position + moveDirection * moveSpeed * Time.fixedDeltaTime);
    }
    else
    {
        rb.MovePosition(rb.position + movement * moveSpeed * Time.fixedDeltaTime);
    }
    
    
}

void Start()
{
    hP = FindObjectOfType<HPBar>();  
}

void Update () {
    movement.x = Input.GetAxis("Horizontal");
    movement.y = Input.GetAxis("Vertical");
    if (icy == false)
    {
        moveDirection = movement;
    }
    
    

}
public void Boing()
{
    StartCoroutine(Respawn());
}
public IEnumerator Respawn()
{
    anim.SetBool("Dead", true);
    yield return new WaitForSeconds(5);
    anim.SetBool("Dead", false);
    gameObject.transform.position = resPos; // here is the error
    hP.Init();   
}
void OnTriggerEnter2D(Collider2D other)
{
    if (other.CompareTag("Respawn")) {
        resPos = gameObject.transform.position;
        hP.setHealth(10);
    }
    if (other.CompareTag("Scorpion"))
    {
        hP.DamagePlayer(5);

    }
    if (other.CompareTag("Laser"))
    {
        hP.DamagePlayer(1);
    }
    if (other.CompareTag("SuperScorpion"))
    {
        hP.DamagePlayer(999999999);

    }
    if (other.CompareTag("LittleScorpion"))
    {
        hP.DamagePlayer(1);

    }
    if (other.CompareTag("warp"))
    {
        gameObject.transform.position = new Vector2(663, 26);

    }

    
}
void OnTriggerExit2D(Collider2D other)
{
    if (other.CompareTag("ice"))
    {
        icy = false;
    }
}

The line in question, marked by a //, works fine half the time. The other half of the time, the game skips over the line.

Are you sure that the line is being skipped? The problem might not be that the line is being skipped but that the “resPos” is the same as transform.position. It could also be that the method never gets called. I can see that in the OnTriggerEnter2D function you set resPos to transform.position. I don’t know what your code does but that could be the problem.

I would also recommend using a debugger (built into visual studio) to track down the issue further.

nvm i fixed it
turns out there was a state machine behaviour
that prevented the line from activating