# Speaker

<figure><img src="https://1123894923-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fi5EhvGPJLvE6Kc1rE7X5%2Fuploads%2FQUK4M8dcuyECnb5vPwTf%2Fimage_2025-07-14_210306594.png?alt=media&#x26;token=1925be19-6f13-4144-a902-848ae91b147a" alt=""><figcaption></figcaption></figure>

The **Speaker** component should be added to any character that can participate in dialogue. This is how Feel Speak connects a GameObject to a Character.

## Properties

| Name               | Description                                                                                                                                      |
| ------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------ |
| Character          | The character.                                                                                                                                   |
| Dialogue           | The dialogue that is triggered when the speaker is interacted with.                                                                              |
| Voice Audio Source | The audio source for the speaker's voice.                                                                                                        |
| In Range Indicator | A GameObject that is enabled/disabled when the player character is in range of this speaker. This requires a collider with 'Is Trigger' enabled. |

## Detecting the Player

{% hint style="info" %}
This information is for games that feature a player character that can freely move around the game world.
{% endhint %}

<figure><img src="https://1123894923-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fi5EhvGPJLvE6Kc1rE7X5%2Fuploads%2FzMs8ZuVSbZ3GAhwpFamx%2Fimage.png?alt=media&#x26;token=8c8e8cb6-f5e0-40b7-84c9-3fe3a203414c" alt=""><figcaption></figcaption></figure>

For Speakers to detect the player, they need a collider that acts as their speaking range. **The player character itself does not need this, only NPCs do.**

<figure><img src="https://1123894923-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fi5EhvGPJLvE6Kc1rE7X5%2Fuploads%2FmusGIj7HPVbWhgDZQrAS%2Fimage.png?alt=media&#x26;token=8acc702f-5cfe-4513-851d-f0748147df24" alt=""><figcaption></figcaption></figure>

The collider must have its 'Is Trigger' toggle set on. **Both 2D and 3D collision is supported.** An example of this can be found in the 3D demo.

You can let Feel Speak know who the active player is through the [feel-speak-initializer](https://stylishesper.gitbook.io/feel-speak/editors/components/feel-speak-initializer "mention") component or [through code](https://stylishesper.gitbook.io/feel-speak/scripting/initialization).

## Recommendations

* If you want character animations to play when emotions are expressed, make sure an Animator component is present either on the same GameObject as the Speaker component or on one of its child GameObjects.
* If you're using Emotion Bubbles for each of your characters, make sure each one is a child of the GameObject that has the Speaker component.
