# Notification System

The Convai plugin comes with default notifications, totaling four. Here they are:

## Notifications

### Not Close Enough to the Character

Appears when you press the talk button but there is no active NPC nearby.

<div data-full-width="false"><figure><img src="/files/X9dYbYBZ016WhFysKo3H" alt=""><figcaption></figcaption></figure></div>

### Talk Button Released Early

Appears if you release the talk button in less than 0.5 seconds.

<figure><img src="/files/s3ceSaq0UuriMsHfDNdX" alt=""><figcaption></figcaption></figure>

### Microphone Issue Detected

Appears when the recorded audio input level is below the threshold.

<figure><img src="/files/s5WJN3mtCZa3nSAN4nP4" alt=""><figcaption></figcaption></figure>

### Connection Problem

Appears when there is no internet connection upon launching the application.

<div align="center" data-full-width="false"><figure><img src="/files/Fnk5tzZdF4nuyvet4PRx" alt=""><figcaption></figcaption></figure></div>

## How to Add Your Own Notification?

Adding your custom notification is straightforward.

Let's go through the steps to add a " **CharacterStartedListening**" notification as an example.

1. Open the script *"Convai/Scripts/Notification System/Notification Type.cs."* This script stores Notification Types as enums. Give a name to your desired Notification type and add it here.

<figure><img src="/files/FSFdYO6V7E7P8XsnTeKv" alt=""><figcaption></figcaption></figure>

2. Right-click on *"Convai / Scripts / Notification System / Scriptable Objects"* and select *"Create > Convai > Notification System > Notification"* then create a "**Notification Scriptable Object".**

<figure><img src="/files/aYFM5h5mCkbPfg3UM5dY" alt=""><figcaption></figcaption></figure>

3. Name the created Notification Scriptable Object. Click on it, and fill in the fields in the Inspector as desired.

<figure><img src="/files/phnMWGiUrsfaDH1nNozT" alt=""><figcaption></figcaption></figure>

4. Add the created Notification Scriptable Object to *"Convai/Scripts/Notification System/Scriptable Objects"* under **"Convai Default Notification Group"** (details of Notification Group here\*\*\*\*).

<figure><img src="/files/Mk0gMmAIPaFKaaL1attR" alt=""><figcaption></figcaption></figure>

5. Your Notification is now ready. The last step is to call this Notification from where you need it. For example, if you created the " **CharacterStartedTalking** " Notification, find the location where your character listens and write the code.

<figure><img src="/files/iDdpFXweton3Cln5SYd9" alt=""><figcaption></figcaption></figure>

{% code fullWidth="false" %}

```csharp
NotificationSystemHandler.Instance.NotificationRequest(NotificationType.CharacterStartedListening);
```

{% endcode %}

6. Replace the parameter with the NotificationType you created. (For our example, ***NotificationType.CharacterStartedListening***)
7. Ensure that the Convai Notification System is present in your scene. (accessible from "*Convai/Prefabs/ Notification System*")

All steps are complete, and you're ready to test!🙂✅

## Notification Scriptable Object

This Scriptable Object stores information about a Notification

* Notification Type
* Notification Icon
* Notification Title
* Notification Message

To create a new Notification Scriptable Object, right-click anywhere in the Project Window and select "*Create > Convai > Notification System > Notification*"

<figure><img src="/files/Va9vltNdwgDgDIl2F5Yh" alt=""><figcaption></figcaption></figure>

## Notification Group Scriptable Object

This Scriptable Object stores Notification Scriptable Objects as groups. When a Notification is requested, it searches for the Notification using the specified Notification Group in the Convai Notification System prefab's Notification System Handler script.

You can create different Notification groups based on your needs. Note: If your referenced Notification Group does not have the Notification you want, that Notification won't be called.

The Convai Default Notification Group has four Notifications, but you can add more or create a new group with additional notifications.

##

<figure><img src="/files/jthTns0sv87WonmoKOuq" alt=""><figcaption></figcaption></figure>


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.convai.com/api-docs/plugins-and-integrations/unity-plugin/utilities/notification-system.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
