*[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)
Basic concepts in Visual Scripting
*[Subgraphs and State Units](vs-nesting-subgraphs-state-units.md)
*[Transitions](vs-transitions.md)
*Script Machines and State Machines
*[Custom types](vs-custom-types.md)
Develop application logic with Script Graphs
*[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
*[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 comments to a graph](vs-sticky-notes.md)
*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
*[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
*[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)
*[Predictive and live debugging](vs-debugging.md)
*[Working with debug messages](vs-debug-messages.md)
*[Live edit during runtime](vs-live-edit-runtime.md)
Advanced customization and development
*Refactor a C# script with Visual Scripting
*[Add the RenamedFrom attribute to a C# script](vs-refactor-add-attribute.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
*[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)
*[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)
*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)
*[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)