docs.unity3d.com
    Show / Hide Table of Contents

    Listen to a Custom Scripting Event from a C# script

    You can use a C# script to listen for or receive a Custom Scripting Event from a Script Graph. You can use an Event receiver script to execute additional logic in your application.

    Note

    Before you can create a listener for a Custom Scripting Event node, you must create a Custom Scripting Event node and its trigger. The examples below are based on the previous example to create a Custom Scripting Event node. For more information, see Create a Custom Scripting Event node and Create a Custom Scripting Event Sender node.

    To receive a Custom Scripting Event from a Script Graph:

    1. Go to Window > General > Project, or press Ctrl+5 (macOS: Cmd+5) to open the Project window.

    2. Right-click a folder in the Project window's folder list or anywhere in the Project window's preview pane.

    3. Go to Create > C# Script.

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

    5. Press Enter.

    6. Double-click the new C# file. Unity opens the file in the program you specified in your preferences, under External Script Editor.

      Note

      For more information on script editors in Unity, see the Integrated development environment (IDE) support in the Unity User Manual.

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

      using Unity.VisualScripting;
      using UnityEngine;
      public class EventReceiver : MonoBehaviour
      {
        void Start()
        {
            EventBus.Register<int>(EventNames.MyCustomEvent, i =>
            {
                Debug.Log("RECEIVED " + i);
            });
        }
      }
      
    8. Save your script file.

    9. Return to the Unity Editor.

    10. Go to Window > General > Hierarchy, or press Ctrl+4 (macOS: Cmd+4) to open the 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. With the GameObject selected in the Hierarchy window, go to Window > General > Inspector, or press Ctrl+3 (macOS: Cmd+3) to open the 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.

    16. Select Play from the Unity Editor's Toolbar to enter Play mode. If you have a Custom Scripting Event Sender node or a C# script to trigger your Event, you can trigger your Custom Scripting Event.

      The EventReceiver script logs the following message to the console every time the Event is triggered, as shown in the following image.

      An image of the Console window. The Console contains a "RECEIVED 1" message from the EventReceiver script.

    Back to top
    Terms of use
    Copyright © 2023 Unity Technologies — Terms of use
    • Legal
    • Privacy Policy
    • Cookies
    • Do Not Sell or Share My Personal Information
    • Your Privacy Choices (Cookie Settings)
    "Unity", Unity logos, and other Unity trademarks are trademarks or registered trademarks of Unity Technologies or its affiliates in the U.S. and elsewhere (more info here). Other names or brands are trademarks of their respective owners.
    Generated by DocFX on 18 October 2023