playtest-unity/playtest/Library/PackageCache/com.unity.visualscripting@1.../Documentation~/vs-create-own-custom-event-...

3.2 KiB

Trigger a Custom Scripting Event from a C# script

You can send or trigger a Custom Scripting Event node in a Script Graph with a C# script instead of a Custom Scripting Event Sender node. For more information on how to create a Custom Scripting Event Sender node, see Create a Custom Scripting Event Sender node.

[!NOTE] Before you can trigger a Custom Scripting Event node, you must create your Custom Scripting Event node. [!includetasks-note-end].

To trigger an Event from a C# script:

  1. [!includeopen-project-window]

  2. [!includeright-click-project]

  3. [!includecreate-c-script-project]

  4. Enter a name, such as CodeTriggerCustomEvent, for the new script file.

  5. Press Enter.

  6. [!includeopen-new-external-code]

  7. In your external editor, copy and paste the following code into your C# script:

    using Unity.VisualScripting;
    using UnityEngine;
    
        public class CodeTriggerCustomEvent : MonoBehaviour
        {
          void Update()
          {
             if (Input.anyKeyDown)
             {
                //Trigger the previously created Custom Scripting Event MyCustomEvent with the integer value 2.
                EventBus.Trigger(EventNames.MyCustomEvent, 2);
             }
          }
       }
    
  8. [!includesave-script]

  9. [!includereturn-unity]

  10. [!includeopen-hierarchy-window]

  11. Do one of the following in the Hierarchy window:

    • Select an existing GameObject where you want to attach the new script.
    • Select Add New (+) and in the menu, select a new GameObject to add to your scene from any of the available options. You can also right-click anywhere in the Hierarchy window and select the same options in the context menu.
  12. [!includeopen-inspector-window]

  13. Select Add Component.

  14. In the Component menu, enter the name of the script file.

  15. Select it to add it to the GameObject.

    An image of the Unity Editor's Inspector window with the Add Component menu open. The search bar has filtered the components displayed and the Code Trigger Custom Event C# script is highlighted.

  16. Select Play from the Unity Editor's Toolbar to enter Play mode.

  17. Press any key on keyboard in the Game view.

    Visual Scripting triggers your Event in any Script Graph in the current scene that contains the Custom Scripting Event node.

Next steps

After you create the script, you can create a script to listen to your Event.

You can also create an Event Sender node to trigger the Event from another Script Graph or location in the same Script Graph.