docs.unity3d.com
  • Manual
  • Scripting API
  • Changelog
  • License
Show / Hide Table of Contents
  • About Visual Scripting
    • Configure project settings
      • Add or remove available nodes
      • Add or remove types
      • Create or restore a backup
    • Choose a control scheme
    • Configure your preferences
    • Update Visual Scripting
    • Version control systems
    • Use Visual Scripting with Unity Cloud Build
  • Basic concepts in Visual Scripting
    • The interface
    • Nodes
    • Graphs
      • Subgraphs and State Units
      • Transitions
    • Script Machines and State Machines
    • Object types
      • Custom types
    • Variables
  • Develop application logic with Script Graphs
    • Create a new graph file
      • Create a new blank graph with the Project window
      • Create a new unassigned graph with the empty graph creation flow
      • Create and assign a graph to an existing GameObject
      • Create and assign a graph to a new GameObject
      • Create a graph on a Script Machine or State Machine
    • Attach a graph file to a Script Machine or State Machine
    • Open a graph file
      • Add a node to a Script Graph
      • Connect nodes in a Script Graph
      • Create and add a variable to a Script Graph
      • Create node groups
      • Add comments to a graph
    • Add a Subgraph to a Script Graph
      • Add a Trigger or Data port to a Script Graph
    • Add a State Unit to a Script Graph
    • Custom Events
      • Add a Custom Event node
      • Add a Trigger Custom Event node
    • Capture user input in an application
      • Capture input using the Input Manager
      • Add and configure a Player Input component
      • Capture input using the Input System package
    • Use relations to debug
      • Predictive and live debugging
      • Working with debug messages
    • Live edit
      • Live edit during runtime
  • Develop logic transitions with state graphs
    • Create a new state
    • Create a transition between states
  • Advanced customization and development
    • Refactor a C# script with Visual Scripting
      • Add the RenamedFrom attribute to a C# script
    • Custom C# nodes
      • Create a new simple Custom C# node
      • Add ports to your Custom C# node
      • Add logic to your Custom C# node
      • Add relations to your Custom C# node
      • Add documentation to your Custom C# node
      • Custom C# node attributes reference
    • Create a Custom Scripting Event node
      • Create a Custom Scripting Event Sender node
      • Trigger a Custom Scripting Event from a C# script
      • Listen to a Custom Scripting Event from a C# script
    • Use a custom type
      • Add the Inspectable attribute to a custom type
      • Create a custom PropertyDrawer for a custom type
  • Node reference
    • This node
    • Control node
    • Time node
    • Events
      • Event nodes
      • Input Event nodes
        • On Input System Event Button
        • On Input System Event Float
        • On Input System Event Vector 2
        • On Button Input
        • On Keyboard Input
        • On Mouse Down
        • On Mouse Drag
        • On Mouse Enter
        • On Mouse Exit
        • On Mouse Input
        • On Mouse Over
        • On Mouse Up As Button
        • On Mouse Up
    • Variable node
    • Nulls node
    • Formula node
    • Nesting
      • Input node
      • Output node
      • State Unit node
      • Subgraph node
    • Script graph nodes
    • State graph nodes
  • Developer's guide
  • Known Issues

Add a State Unit to a Script Graph

Add a State Unit to a Script Graph to trigger a change of state. A state is any set of behaviors that you want a GameObject to perform. For more information on state in Visual Scripting, see Graphs.

You can add a new State Graph to a State Unit node, or use an existing State Graph from the project. For more information on the State Unit node, see State Unit node.

Add a new State Graph as a State Unit node

To add a new blank State Graph as a State Unit node to a Script Graph:

  1. With a Script Graph open in the Graph window, right-click on an empty space in the Graph Editor to open the fuzzy finder.

  2. Go to Nesting.
  3. Select State Unit to add a State Unit node to the graph.
  4. Open the Graph Inspector.
  5. In the Graph Inspector, choose the source for the State Unit:
    • Embed: The State Graph only exists on the State Unit node. You can only change the State Graph from the node in its parent graph.
    • Graph: The State Graph exists in a separate file. You can change the State Graph outside of its parent graph and reuse the graph in other areas of an application.
  6. If you chose Graph:
    1. In the Graph Inspector, select New.
    2. Enter a name for the graph file.
    3. Choose where you want to save the graph file in the project.
    4. Select Save.

The Graph window with a new blank State Unit node added to a Script Graph.

Add an existing State Graph as a State Unit node

To add an existing State Graph file as a State Unit node in a Script Graph:

  1. With a Script Graph open in the Graph window, right-click on an empty space in the Graph Editor to open the fuzzy finder.

  2. Go to Nesting.

  3. Select State Unit to add a State Unit node to the graph.

  4. Open the Graph Inspector.

  5. In the Graph Inspector, set the Source to Graph.

  6. Do one of the following:

    • In the Graph field, select the object picker (circle icon) and choose a compatible State Graph from the project.
    • Click and drag a State Graph file from the Project window and release on the Graph field.
Tip

For a faster way to add a State Graph as a State Unit node:

  • Click and drag a State Graph asset from the Project window into the Graph Editor to automatically create a State Unit node.
  • Right-click to open the fuzzy finder. Go to Graphs and select a graph file.

An image of the Graph window, with a new Super Unit node created from an existing State Graph added to a Script Graph.

Next steps

Select Edit Graph in the Graph Inspector to edit the graph. For more information on how to create a State Graph, see Develop logic transitions with State Graphs.

In This Article
Back to top
Copyright © 2025 Unity Technologies — Trademarks and terms of use
  • Legal
  • Privacy Policy
  • Cookie Policy
  • Do Not Sell or Share My Personal Information