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

Create a new state

You can create three types of State nodes in a State Graph: Script States, Any States, and Super States. For more information on the types of State nodes, see State Graphs in Graphs.

You can also add a Sticky Note to add comments to a graph.

Create a Script State

To create a new blank Script State:

  1. With a State Graph open in the Graph window, right-click on an empty space in the Graph Editor to open the context menu.

  2. Select Create Script State.

    Visual Scripting creates a new Script State node.

  3. Open the Graph Inspector.

  4. In the Graph Inspector, choose a source for the Script State node:

    • Embed: The graph only exists on the Script State node. You can only modify the graph from the node in its parent State Graph.
    • Graph: The graph exists in a separate file. You can modify the graph outside of its parent State Graph and reuse the graph in other areas of your application.
  5. If you chose Graph:

    1. Select New.
    2. Enter a name for the graph file.
    3. Choose where you want to save the new graph.
    4. Select Save.

A State Graph with a new blank Script State node.

To create a Script State from an existing Script Graph:

  1. With a State Graph open in the Graph window, right-click on an empty space in the Graph Editor to open the context menu.

  2. Select Create Script State. Visual Scripting creates a new Script State node.

  3. Open the Graph Inspector.

  4. In the Graph Inspector, set the source for the Script State node to Graph.

  5. Do one of the following:

    • Select the object picker (circle icon) and choose a compatible Script Graph from your project.
    • Click and drag a Script Graph file from your Project window and release on the Graph field.

A State Graph with a Script State node with an existing Script Graph.

Tip

Click and drag the Script Graph from your Project window into the Graph Editor to automatically create a Script State node.

Create an Any State

To create a new Any State node:

  1. With a State Graph open in the Graph window, right-click on an empty space in the Graph Editor to open the context menu.

  2. Select Create Any State.

An image of a State Graph with a new Any State node

Create a Super State

To create a new blank Super State:

  1. With a State Graph open in the Graph window, right-click on an empty space in the Graph Editor to open the context menu.

  2. Select Create Super State.

    Visual Scripting creates a new Super State node.

  3. Open the Graph Inspector.

  4. In the Graph Inspector, choose a source for the Super State node:

    • Embed: The graph only exists on the Super State node. You can only modify the graph from the node in its parent State Graph.
    • Graph: The graph exists in a separate file. You can modify the graph outside of its parent State Graph and reuse the graph in other areas of your application.
  5. If you chose Graph:

    1. Select New.
    2. Enter a name for the graph file.
    3. Choose where you want to save the new graph.
    4. Select Save.

An image of a State Graph with a new blank Super State node.

To create a Super State from an existing State Graph:

  1. With a State Graph open in the Graph window, right-click on an empty space in the Graph Editor to open the context menu.

  2. Select Create Super State.

    Visual Scripting creates a new Super State node.

  3. Open the Graph Inspector

  4. In the Graph Inspector, set the source for the Super State node to Graph.

  5. Do one of the following:

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

A State Graph with a Super State node with an existing State Graph.

Tip

Click and drag the State Graph from your Project window into the Graph Editor to automatically create a Super State node.

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