# BroadcastMessage

> Calls the method named methodName on every MonoBehaviour in this game object or any of its children.

## Definition

* **Type:** Method
* **Namespace:** [UnityEngine](/engine/6000.7/script-reference/unityengine.md)
* **Assembly:** UnityEngine.CoreModule

## BroadcastMessage(string, Object, SendMessageOptions)

Calls the method named `methodName` on every [MonoBehaviour](/engine/6000.7/script-reference/unityengine/monobehaviour.md) in this game object or any of its children.

```csharp
public void BroadcastMessage(string methodName, object parameter, SendMessageOptions options)
```

### Parameters

**** (\[string]\(https\://learn.microsoft.com/dotnet/api/system.string)): Name of the method to call.**** (\[Object]\(https\://learn.microsoft.com/dotnet/api/system.object)): Optional parameter to pass to the method (can be any value).**** (\[SendMessageOptions]\(/engine/6000.7/script-reference/unityengine/sendmessageoptions)): Should an error be raised if the method does not exist for a given target object?

### Remarks

The receiving method can choose to ignore `parameter` by having zero arguments. if options is set to [SendMessageOptions.RequireReceiver](/engine/6000.7/script-reference/unityengine/sendmessageoptions/requirereceiver.md) an error is printed when the message is not picked up by any component.

### Examples

```csharp
using UnityEngine;

public class Example : MonoBehaviour
{
    void Start()
    {
        /// Calls the function ApplyDamage with a value of 5
        BroadcastMessage("ApplyDamage", 5.0);
    }

    // Every script attached to the game object and all its children
    // that has a ApplyDamage function will be called.
    void ApplyDamage(float damage)
    {
        print(damage);
    }
}
```

## BroadcastMessage(string, SendMessageOptions)

Calls the method named `methodName` on every [MonoBehaviour](/engine/6000.7/script-reference/unityengine/monobehaviour.md) in this game object or any of its children.

```csharp
public void BroadcastMessage(string methodName, SendMessageOptions options)
```

### Parameters

**** (\[string]\(https\://learn.microsoft.com/dotnet/api/system.string)): Name of the method to call.**** (\[SendMessageOptions]\(/engine/6000.7/script-reference/unityengine/sendmessageoptions)): Should an error be raised if the method does not exist for a given target object?

### Remarks

The receiving method can choose to ignore `parameter` by having zero arguments. if options is set to [SendMessageOptions.RequireReceiver](/engine/6000.7/script-reference/unityengine/sendmessageoptions/requirereceiver.md) an error is printed when the message is not picked up by any component.

### Examples

```csharp
using UnityEngine;

public class Example : MonoBehaviour
{
    void Start()
    {
        /// Calls the function ApplyDamage with a value of 5
        BroadcastMessage("ApplyDamage", 5.0);
    }

    // Every script attached to the game object and all its children
    // that has a ApplyDamage function will be called.
    void ApplyDamage(float damage)
    {
        print(damage);
    }
}
```
