Singularity/Library/PackageCache/com.unity.visualscripting@1.../Documentation~/vs-create-custom-node-add-d...
2024-05-06 11:45:45 -07:00

3.4 KiB

Add documentation to a Custom C# node

You can also add Graph Inspector documentation to a Custom C# node. Visual Scripting displays the documentation in the Graph Inspector when you select a node in a Script Graph. The documentation isn't required to use the node, but can help your users understand the purpose and usage of a node.

To add documentation to a node:

  1. [!includeopen-project-window]

    Note

    If you already have an Editor folder in your project, you can skip Steps 2-3.

  2. Right-click your Assets folder or select Add (+), then select Folder.

  3. Name the folder Editor.

  4. Do one of the following:

    • Right-click your Editor folder in the Project window's folder list.
    • Right-click anywhere in the Project window's preview pane with your Editor folder selected.
  5. [!includecreate-c-script]

  6. Enter a name, such as MyNodeDescriptor for the new script file.

  7. Press Enter.

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

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

    using System;
    using Unity.VisualScripting;
    using UnityEngine;
    
    [Descriptor(typeof(MyNode))]
    public class MyNodeDescriptor : UnitDescriptor<MyNode>
    {
    public MyNodeDescriptor(MyNode unit) : base(unit) {}
    
    protected override void DefinedPort(IUnitPort port, UnitPortDescription description)
    {
        base.DefinedPort(port, description);
        switch (port.key)
        {
            case "inputTrigger":
                description.summary = "Trigger the concatenation of two strings, myValueA and myValueB, and return the result string on the Result port.";
                break;
            case "myValueA":
                description.summary = "First string value.";
                break;
            case "myValueB":
                description.summary = "Second string value.";
                break;
            case "outputTrigger":
                description.summary = "Execute the next action in the Script Graph after concatenating myValueA and myValueB.";
                break;
            case "result":
                description.summary = "The result string obtained from concatenating myValueA and myValueB.";
                break;
        }
    }
    }
    

    You can modify the script to suit the specifics of your own node.

  10. [!includesave-script]

  11. [!includereturn-unity]

  12. Do one of the following:

  13. Select the node and open the Graph Inspector to view your documentation.

    An image of the Graph window. The Graph Inspector is open on the left with the Custom C# node, My Node, selected. The Graph Inspector displays the documentation written for each port on the node, underneath the name and type for each port.

Next steps

After you add documentation to a node, you can choose to further customize the node with node class and port attributes.