How can I send a message to every gameobject it is collides with

I have a problem with this. I want the gameobject to detect the collision with other gameobjects and send a message to them. It works but it sends a message to only one of them. Could you please help me?

Here’s the script:

private void OnTriggerStay2D(Collider2D collision)  //Check action on people
{
    if (StayCollision)
    {
        collision.gameObject.SendMessage("StopMovement", "Action");
        StayCollision = false;
    }
}

I want it to send a message to every gameobject it is colliding with.

Because you are setting “stay collision” false when you detect the first collision, it will never send to any others, as you have told it to only send a message while stay collision is true. You either need to remove that check, don’t set it to false, or set it back to true somewhere