* [About Visual Scripting](index.md)

    *[Configure project settings](vs-configuration.md)

        *[Add or remove available nodes](vs-add-remove-node-library.md)

        *[Add or remove types](vs-add-remove-type-options.md)

        *[Create or restore a backup](vs-create-restore-backups.md)

    *[Choose a control scheme](vs-control-schemes.md)

    *[Configure your preferences](vs-set-preferences.md)
    
    *[Update Visual Scripting](vs-update.md)
    
    *[Version control systems](vs-version-control.md)
    
    *[Use Visual Scripting with Unity Cloud Build](vs-aot.md)

* [Basic concepts in Visual Scripting](vs-basic-concepts.md)

    *[The interface](vs-interface-overview.md)

    *[Nodes](vs-nodes.md)

    *[Graphs](vs-graph-types.md)

        *[Subgraphs and State Units](vs-nesting-subgraphs-state-units.md)

        *[Transitions](vs-transitions.md)

    *[Script Machines and State Machines](vs-graph-machine-types.md)

    *[Object types](vs-types.md)

        *[Custom types](vs-custom-types.md)
    
    *[Variables](vs-variables.md)

* [Develop application logic with Script Graphs](vs-script-graphs-intro.md)

    *[Create a new graph file](vs-create-graph.md)

        *[Create a new blank graph with the Project window](vs-create-graph-project-window.md)

        *[Create a new unassigned graph with the empty graph creation flow](vs-create-graph-unassigned-flow.md)

        *[Create and assign a graph to an existing GameObject](vs-create-graph-assign-existing-gameobject.md)

        *[Create and assign a graph to a new GameObject](vs-create-graph-assign-new-gameobject.md)

        *[Create a graph on a Script Machine or State Machine](vs-create-graph-on-machine.md)

    *[Attach a graph file to a Script Machine or State Machine](vs-attach-graph-machine.md)

    *[Open a graph file](vs-open-graph-edit.md)

        *[Add a node to a Script Graph](vs-add-node-to-graph.md)

        *[Connect nodes in a Script Graph](vs-creating-connections.md)

        *[Create and add a variable to a Script Graph](vs-add-variable-graph.md)

        *[Create node groups](vs-groups.md)

    *[Add a Subgraph to a Script Graph](vs-nesting-add-subgraph.md)

       *[Add a Trigger or Data port to a Script Graph](vs-nesting-add-triggers-data-graph.md)
    
    *[Add a State Unit to a Script Graph](vs-nesting-add-state-unit.md)

    *[Custom Events](vs-custom-events.md)

        *[Add a Custom Event node](vs-add-custom-event-node.md)

        *[Add a Trigger Custom Event node](vs-add-custom-event-node-trigger.md)

    *[Capture user input in an application](vs-capture-player-input.md)

        *[Capture input using the Input Manager](vs-capturing-player-inputs-old.md)

        *[Add and configure a Player Input component](vs-capture-player-input-add-component.md)

        *[Capture input using the Input System package](vs-capturing-player-inputs-new.md)
    
    *[Use relations to debug](vs-relations.md)
    
        *[Predictive and live debugging](vs-debugging.md)
        
        *[Working with debug messages](vs-debug-messages.md)
        
    *[Live edit](vs-live.md)
    
         *[Live edit during runtime](vs-live-edit-runtime.md)
    
* [Develop logic transitions with state graphs](vs-state-graphs-intro.md)

    *[Create a new state](vs-create-state.md)
    
    *[Create a transition between states](vs-creating-transition.md)

* [Advanced customization and development](vs-advanced-topics-intro.md)

    *[Refactor a C# script with Visual Scripting](vs-refactoring.md)

        *[Add the RenamedFrom attribute to a C# script](vs-refactor-add-attribute.md)

    *[Custom C# nodes](vs-create-custom-node.md)

        *[Create a new simple Custom C# node](vs-create-custom-node-empty.md)

        *[Add ports to your Custom C# node](vs-create-custom-node-add-ports.md)
        
        *[Add logic to your Custom C# node](vs-create-custom-node-add-logic.md)

        *[Add relations to your Custom C# node](vs-create-custom-node-add-relations.md)

        *[Add documentation to your Custom C# node](vs-create-custom-node-add-docs.md)

        *[Custom C# node attributes reference](vs-create-custom-node-attributes-reference.md)

    *[Create a Custom Scripting Event node](vs-create-own-custom-event-node.md)

        *[Create a Custom Scripting Event Sender node](vs-create-own-custom-event-send-node.md)

        *[Trigger a Custom Scripting Event from a C# script](vs-create-own-custom-event-node-trigger-code.md)

        *[Listen to a Custom Scripting Event from a C# script](vs-create-own-custom-event-listen-code.md)

    *[Use a custom type](vs-using-custom-types.md)

        *[Add the Inspectable attribute to a custom type](vs-add-inspectable-attribute-custom-types.md)
            
        *[Create a custom PropertyDrawer for a custom type](vs-create-custom-drawer.md)
        
* [Node reference](vs-nodes-reference.md)

    *[This node](vs-self.md)
    
    *[Control node](vs-control.md)
    
    *[Time node](vs-time.md)

    *Events

        *[Event nodes](vs-events-reference.md)

        *[Input Event nodes](vs-input-nodes.md)

            *[On Input System Event Button](vs-nodes-events-input-system-button.md)

            *[On Input System Event Float](vs-nodes-events-input-system-float.md)

            *[On Input System Event Vector 2](vs-nodes-events-input-system-vector2.md)
            
            *[On Button Input](vs-nodes-events-on-button-input.md)

            *[On Keyboard Input](vs-nodes-events-on-keyboard-input.md)

            *[On Mouse Down](vs-nodes-events-on-mouse-down.md)

            *[On Mouse Drag](vs-nodes-events-on-mouse-drag.md)

            *[On Mouse Enter](vs-nodes-events-on-mouse-enter.md)

            *[On Mouse Exit](vs-nodes-events-on-mouse-exit.md)

            *[On Mouse Input](vs-nodes-events-on-mouse-input.md)

            *[On Mouse Over](vs-nodes-events-on-mouse-over.md)

            *[On Mouse Up As Button](vs-nodes-events-on-mouse-up-button.md)

            *[On Mouse Up](vs-nodes-events-on-mouse-up.md)
    
    *[Variable node](vs-variables-reference.md)
    
    *[Nulls node](vs-nulls.md)
    
    *[Formula node](vs-formula.md)

    *[Nesting](vs-nesting-nodes.md)

        *[Input node](vs-nesting-input-node.md)

        *[Output node](vs-nesting-output-node.md)

        *[State Unit node](vs-nesting-state-unit-node.md)

        *[Subgraph node](vs-nesting-subgraph-node.md)

    *[Script graph nodes](vs-scripts-reference.md)

    *[State graph nodes](vs-states-reference.md)    

* [Developer's guide](vs-developers-guide.md)

