# Manual invoke a narrative trigger in Unity using script

**URL:** <https://forum.convai.com/t/manual-invoke-a-narrative-trigger-in-unity-using-script/1564>\
**Category:** Unity SDK\
**Tags:** question, vr, unity\
**Created:** [August 31, 2024, 12:26am UTC](https://forum.convai.com/t/manual-invoke-a-narrative-trigger-in-unity-using-script/1564 "2024-08-31T00:26:52Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![K3](https://yyz2.discourse-cdn.com/flex004/user_avatar/forum.convai.com/k3/32/2611_2.png) [@K3](https://forum.convai.com/u/K3)\
**Post date:** [August 31, 2024, 12:26am UTC](https://forum.convai.com/t/manual-invoke-a-narrative-trigger-in-unity-using-script/1564/1 "2024-08-31T00:26:52Z")

</div>

**Original Discord Post by petroslouca | 2024-08-31 00:26:52**

Hello,  
could you please provide a simple example in the case that there are more than one NPC’s in a Unity3D scene, on how to invoke a specific narrative trigger included in the narrative design of one of the NPCs, using a script that is attached to a new/empty game object?

Thank you!

---

<div class="post-metadata">

**Author:** ![K3](https://yyz2.discourse-cdn.com/flex004/user_avatar/forum.convai.com/k3/32/2611_2.png) [@K3](https://forum.convai.com/u/K3)\
**Post date:** [August 31, 2024, 12:27am UTC](https://forum.convai.com/t/manual-invoke-a-narrative-trigger-in-unity-using-script/1564/2 "2024-08-31T00:27:17Z")

</div>

**Reply by petroslouca | 2024-08-31 00:27:17**

Manual invoke a narrative trigger in Unity using script

---

<div class="post-metadata">

**Author:** ![K3](https://yyz2.discourse-cdn.com/flex004/user_avatar/forum.convai.com/k3/32/2611_2.png) [@K3](https://forum.convai.com/u/K3)\
**Post date:** [August 31, 2024, 12:27am UTC](https://forum.convai.com/t/manual-invoke-a-narrative-trigger-in-unity-using-script/1564/3 "2024-08-31T00:27:40Z")

</div>

**Reply by k3kalinix | 2024-08-31 00:27:40**

Hello \<@606256062613684224\> 👋🏻

---

<div class="post-metadata">

**Author:** ![K3](https://yyz2.discourse-cdn.com/flex004/user_avatar/forum.convai.com/k3/32/2611_2.png) [@K3](https://forum.convai.com/u/K3)\
**Post date:** [August 31, 2024, 12:27am UTC](https://forum.convai.com/t/manual-invoke-a-narrative-trigger-in-unity-using-script/1564/4 "2024-08-31T00:27:58Z")

</div>

**Reply by k3kalinix | 2024-08-31 00:27:58**

Which version of Convai are you using?

---

<div class="post-metadata">

**Author:** ![K3](https://yyz2.discourse-cdn.com/flex004/user_avatar/forum.convai.com/k3/32/2611_2.png) [@K3](https://forum.convai.com/u/K3)\
**Post date:** [August 31, 2024, 12:30am UTC](https://forum.convai.com/t/manual-invoke-a-narrative-trigger-in-unity-using-script/1564/5 "2024-08-31T00:30:19Z")

</div>

**Reply by petroslouca | 2024-08-31 00:30:19**

I downloaded it from asset store and installed it a couple of weeks ago.

---

<div class="post-metadata">

**Author:** ![K3](https://yyz2.discourse-cdn.com/flex004/user_avatar/forum.convai.com/k3/32/2611_2.png) [@K3](https://forum.convai.com/u/K3)\
**Post date:** [August 31, 2024, 12:31am UTC](https://forum.convai.com/t/manual-invoke-a-narrative-trigger-in-unity-using-script/1564/6 "2024-08-31T00:31:07Z")

</div>

**Reply by k3kalinix | 2024-08-31 00:31:07**

Is this a new project?

---

<div class="post-metadata">

**Author:** ![K3](https://yyz2.discourse-cdn.com/flex004/user_avatar/forum.convai.com/k3/32/2611_2.png) [@K3](https://forum.convai.com/u/K3)\
**Post date:** [August 31, 2024, 12:33am UTC](https://forum.convai.com/t/manual-invoke-a-narrative-trigger-in-unity-using-script/1564/7 "2024-08-31T00:33:10Z")

</div>

**Reply by petroslouca | 2024-08-31 00:33:10**

I have been already working on a VR project using XRI toolkit 2.5.2

---

<div class="post-metadata">

**Author:** ![K3](https://yyz2.discourse-cdn.com/flex004/user_avatar/forum.convai.com/k3/32/2611_2.png) [@K3](https://forum.convai.com/u/K3)\
**Post date:** [August 31, 2024, 12:33am UTC](https://forum.convai.com/t/manual-invoke-a-narrative-trigger-in-unity-using-script/1564/8 "2024-08-31T00:33:19Z")

</div>

**Reply by k3kalinix | 2024-08-31 00:33:19**

Okey

---

<div class="post-metadata">

**Author:** ![K3](https://yyz2.discourse-cdn.com/flex004/user_avatar/forum.convai.com/k3/32/2611_2.png) [@K3](https://forum.convai.com/u/K3)\
**Post date:** [August 31, 2024, 12:38am UTC](https://forum.convai.com/t/manual-invoke-a-narrative-trigger-in-unity-using-script/1564/9 "2024-08-31T00:38:02Z")

</div>

**Reply by k3kalinix | 2024-08-31 00:38:02**

Add,

- NarrativeDesignManager
- NarrativeDesignTrigger components to your NPC.

There are two ways,  
First we can call a trigger on ConvaiNPC or create a new script.  
If you use the ConvaiNpc Method, it will affect all NPCs.

In ConvaiNPC or New Script, add this code to the Start method.

```cs
if (TryGetComponent(out NarrativeDesignTrigger narrativeDesignTrigger))
  {
    narrativeDesignTrigger.InvokeSelectedTrigger();
  }

```

---

<div class="post-metadata">

**Author:** ![K3](https://yyz2.discourse-cdn.com/flex004/user_avatar/forum.convai.com/k3/32/2611_2.png) [@K3](https://forum.convai.com/u/K3)\
**Post date:** [August 31, 2024, 12:39am UTC](https://forum.convai.com/t/manual-invoke-a-narrative-trigger-in-unity-using-script/1564/10 "2024-08-31T00:39:02Z")

</div>

**Reply by petroslouca | 2024-08-31 00:39:02**

You mean inside a publicly accesible function?

---

<div class="post-metadata">

**Author:** ![K3](https://yyz2.discourse-cdn.com/flex004/user_avatar/forum.convai.com/k3/32/2611_2.png) [@K3](https://forum.convai.com/u/K3)\
**Post date:** [August 31, 2024, 12:39am UTC](https://forum.convai.com/t/manual-invoke-a-narrative-trigger-in-unity-using-script/1564/11 "2024-08-31T00:39:38Z")

</div>

**Reply by k3kalinix | 2024-08-31 00:39:38**

What do you mean

---

<div class="post-metadata">

**Author:** ![K3](https://yyz2.discourse-cdn.com/flex004/user_avatar/forum.convai.com/k3/32/2611_2.png) [@K3](https://forum.convai.com/u/K3)\
**Post date:** [August 31, 2024, 12:39am UTC](https://forum.convai.com/t/manual-invoke-a-narrative-trigger-in-unity-using-script/1564/12 "2024-08-31T00:39:49Z")

</div>

**Reply by petroslouca | 2024-08-31 00:39:49**

I prefer a new script so as not modify any code in the original scripts.

---

<div class="post-metadata">

**Author:** ![K3](https://yyz2.discourse-cdn.com/flex004/user_avatar/forum.convai.com/k3/32/2611_2.png) [@K3](https://forum.convai.com/u/K3)\
**Post date:** [August 31, 2024, 12:41am UTC](https://forum.convai.com/t/manual-invoke-a-narrative-trigger-in-unity-using-script/1564/13 "2024-08-31T00:41:38Z")

</div>

**Reply by petroslouca | 2024-08-31 00:41:38**

I will better continue tomorrow, too many hours of work! Thank you for your immediate response.

---

<div class="post-metadata">

**Author:** ![K3](https://yyz2.discourse-cdn.com/flex004/user_avatar/forum.convai.com/k3/32/2611_2.png) [@K3](https://forum.convai.com/u/K3)\
**Post date:** [August 31, 2024, 12:41am UTC](https://forum.convai.com/t/manual-invoke-a-narrative-trigger-in-unity-using-script/1564/14 "2024-08-31T00:41:54Z")

</div>

**Reply by k3kalinix | 2024-08-31 00:41:54**

You are welcome 😊

---

<div class="post-metadata">

**Author:** ![K3](https://yyz2.discourse-cdn.com/flex004/user_avatar/forum.convai.com/k3/32/2611_2.png) [@K3](https://forum.convai.com/u/K3)\
**Post date:** [August 31, 2024, 6:14pm UTC](https://forum.convai.com/t/manual-invoke-a-narrative-trigger-in-unity-using-script/1564/15 "2024-08-31T18:14:12Z")

</div>

**Reply by petroslouca | 2024-08-31 18:14:12**

Hello! Could we discuss the solution please?

---

<div class="post-metadata">

**Author:** ![K3](https://yyz2.discourse-cdn.com/flex004/user_avatar/forum.convai.com/k3/32/2611_2.png) [@K3](https://forum.convai.com/u/K3)\
**Post date:** [August 31, 2024, 6:28pm UTC](https://forum.convai.com/t/manual-invoke-a-narrative-trigger-in-unity-using-script/1564/16 "2024-08-31T18:28:00Z")

</div>

**Reply by k3kalinix | 2024-08-31 18:28:00**

Yes

---

<div class="post-metadata">

**Author:** ![K3](https://yyz2.discourse-cdn.com/flex004/user_avatar/forum.convai.com/k3/32/2611_2.png) [@K3](https://forum.convai.com/u/K3)\
**Post date:** [August 31, 2024, 11:10pm UTC](https://forum.convai.com/t/manual-invoke-a-narrative-trigger-in-unity-using-script/1564/17 "2024-08-31T23:10:56Z")

</div>

**Reply by petroslouca | 2024-08-31 23:10:56**

So, create a new Gameobject with a script like the following attached to it:

using Convai.Scripts.Narrative\_Design;  
using System.Collections;  
using System.Collections.Generic;  
using UnityEngine;  
using Convai.Scripts.Utils;  
using Convai.Scripts;

public class NarrativeDesignManualTrigger : MonoBehaviour  
{  
[Header(“AVATAR MEDIEVAL OUTLANDER DATA”)]  
[Tooltip(“CONVai NPC”)]  
public ConvaiNPC convaiNPC\_MedievalOutlander;  
//[Tooltip(“CONVai NPC GO for accessing the collider’s radius”)]  
//public GameObject convaiNPC\_MedievalOutlander\_GO;

```
// Start is called before the first frame update
void Start()
{
    convaiNPC_MedievalOutlander = GetComponent<ConvaiNPC>();
}

public void WelcomeTrigger()
{
    ConvaiNPCManager.Instance.SetActiveConvaiNPC(convaiNPC_MedievalOutlander);

    if (convaiNPC_MedievalOutlander.TryGetComponent(out NarrativeDesignTrigger narrativeDesignTrigger))
    { narrativeDesignTrigger.InvokeSelectedTrigger();
    }
}

```

}

Is this approach right?

---

<div class="post-metadata">

**Author:** ![K3](https://yyz2.discourse-cdn.com/flex004/user_avatar/forum.convai.com/k3/32/2611_2.png) [@K3](https://forum.convai.com/u/K3)\
**Post date:** [August 31, 2024, 11:17pm UTC](https://forum.convai.com/t/manual-invoke-a-narrative-trigger-in-unity-using-script/1564/18 "2024-08-31T23:17:57Z")

</div>

**Reply by petroslouca | 2024-08-31 23:17:57**

It is important to have the avatar talking even if not directly having the user’s crosshair on it, as I understand that narrative trigger can be used to have the avatar acting/talking on a user’s event, e.g. approaching a specific game object.

---

<div class="post-metadata">

**Author:** ![K3](https://yyz2.discourse-cdn.com/flex004/user_avatar/forum.convai.com/k3/32/2611_2.png) [@K3](https://forum.convai.com/u/K3)\
**Post date:** [August 31, 2024, 11:29pm UTC](https://forum.convai.com/t/manual-invoke-a-narrative-trigger-in-unity-using-script/1564/19 "2024-08-31T23:29:05Z")

</div>

**Reply by petroslouca | 2024-08-31 23:29:05**

Could you provide additional reousrces to the documentation ([Adding Narrative Design to your Character | Documentation](https://docs.convai.com/api-docs/plugins-and-integrations/unity-plugin/adding-narrative-design-to-your-character)) for a more detailed information about invoking triggers from a script? An online video (YouTube) specifically on this aspect, would be really helpful!

**Embedded Content:**  
**Adding Narrative Design to your Character | API Docs**  
Follow this guide to incorporate Narrative Design into your Convai-powered characters. Follow this step-by-step tutorial, open your project, and let’s begin!  
Link: [Adding Narrative Design to your Character | Documentation](https://docs.convai.com/api-docs/plugins-and-integrations/unity-plugin/adding-narrative-design-to-your-character)

 ![Thumbnail](https://canada1.discourse-cdn.com/flex004/uploads/convai/original/1X/9ad6dbd8063682beb1986cfbc66a24ca73fedeee.png)

---

<div class="post-metadata">

**Author:** ![K3](https://yyz2.discourse-cdn.com/flex004/user_avatar/forum.convai.com/k3/32/2611_2.png) [@K3](https://forum.convai.com/u/K3)\
**Post date:** [September 1, 2024, 12:32am UTC](https://forum.convai.com/t/manual-invoke-a-narrative-trigger-in-unity-using-script/1564/20 "2024-09-01T00:32:35Z")

</div>

**Replying to petroslouca’s Message**

> **Reply by petroslouca | 2024-08-31 23:10:56**  
> So, create a new Gameobject with a script like the following attached to it:

using Convai.Scripts.Narrative\_Design;  
using System.Collections;  
using System.Collections.Generic;  
using UnityEngine;  
using Convai.Scripts.Utils;  
using Convai.Scripts;

public class NarrativeDesignManualTrigger : MonoBehaviour  
{  
[Header(“AVATAR MEDIEVAL OUTLANDER DATA”)]  
[Tooltip(“CONVai NPC”)]  
public ConvaiNPC convaiNPC\_MedievalOutlander;  
//[Tooltip(“CONVai NPC GO for accessing the collider’s radius”)]  
//public GameObject convaiNPC\_MedievalOutlander\_GO;

```
// Start is called before the first frame update
void Start()
{
    convaiNPC_MedievalOutlander = GetComponent<ConvaiNPC>();
}

public void WelcomeTrigger()
{
    ConvaiNPCManager.Instance.SetActiveConvaiNPC(convaiNPC_MedievalOutlander);

    if (convaiNPC_MedievalOutlander.TryGetComponent(out NarrativeDesignTrigger narrativeDesignTrigger))
    { narrativeDesignTrigger.InvokeSelectedTrigger();
    }
}

```

}

Is this approach right?

**Reply by k3kalinix | 2024-09-01 00:32:35**

No, this is wrong

[Next page](https://forum.convai.com/t/manual-invoke-a-narrative-trigger-in-unity-using-script/1564.md?page=2)
