unity3d – C# Unity ¿OnCollisionEnter disminuye performance si se actualiza constantemente?

verán quiero hacer un ataque de área, es decir, el personaje salta y al colisionar contra el suelo se ejecuta la “explosión”.

Contexto de mi código: Tengo una variable bool isOnGround que declaro globalmente como true porque ya empezaría en suelo, cuando salta isOnGround = false y cuando el player cae y colisiona con el collider del suelo isOnGround = true

Mi duda/problema:
Quiero saber si esto genera una disminución del performance, ya que al estar en el suelo siempre va a estar llamándose al método OnCollisionEnter, donde pregunto si player colisiona con el suelo, en caso de que colisione isOnGround = true, entonces como siempre esta colisionando hasta que salta, va a estar siempre pasándole el valor de true a isOnGround quiero saber si esto es así y como lo solucionaría.
Les dejo mi código hermanos.

OnCollisionEnter

private void OnCollisionEnter(Collision collision)
{

    if (collision.gameObject.CompareTag("Enemy") && currentePowerUp == PowerUpType.Pushback)
    {
        Rigidbody enemyRb = collision.gameObject.GetComponent<Rigidbody>();

        Vector3 awayFromPlayer = collision.gameObject.transform.position - transform.position;

        enemyRb.AddForce(awayFromPlayer * powerupStrength, ForceMode.Impulse);

        Debug.Log($"player collides with {collision.gameObject.name} with the powerup set to {currentePowerUp.ToString()}");
    }
    if (collision.gameObject.CompareTag("Ground"))
    {

      isOnGround = true;

    }

}

SmashAttack

void SmashAttack()
{
    if (isOnGround)
    {
 playerRb.AddForce(Vector3.up * 20, ForceMode.Impulse);
    isOnGround = false;

        
    
    }
   

    Collider() colliders = Physics.OverlapSphere(transform.position, 5f);

    foreach (Collider c in colliders)
    {

        if (c.gameObject.CompareTag("Enemy"))
        {

            Vector3 away = (transform.position - c.gameObject.transform.position).normalized;

            c.gameObject.GetComponent<Rigidbody>().AddForce(-away * powerupStrength, ForceMode.Impulse);

        }

    }


}