On Input System Event Button node
Note
The On Input System Event Button node is an Input System package node. For more information about how to use the Input System package in Visual Scripting, see Capture user input in an application.
The On Input System Event Button node listens for a specific Input Action from a Player Input component. It doesn't send or read any other data.
Use this node when you want to read user input but don't require any other data from an Input Action.
Fuzzy finder category
The On Input System Event Button node is in the Events > Input category in the fuzzy finder.
Inputs
The On Input System Event Button node has the following input ports:
Name | Type | Description |
---|---|---|
Target | Player Input | The Player Input component that Visual Scripting uses to display a list of input actions. The default is This, which is the Player Input component attached to the GameObject where Visual Scripting runs the Script Graph. You can also connect a node that outputs a Player Input component. |
Input Action | Input Action | An input action. Use the dropdown to select an input action from the Player Input component specified in Player Input, or connect a node that outputs an input action. |
Controls
The On Input System Event Button node has the following controls:
Name | Type | Description | |
---|---|---|---|
Input Action Change Type | Input Action Change Option | Set an Input Action Change Type to choose the interaction type that triggers the node. | |
On Pressed | The node triggers when a user presses the button from the selected Input Action input asset. | ||
On Hold | The node triggers when a user holds the button from the selected Input Action input asset. | ||
On Released | The node triggers when a user releases the button from the selected Input Action input asset. |
You can also set this control from the Graph Inspector.
Additional node settings
The On Input System Event Button node has additional settings. Access these settings from the Graph Inspector:
Name | Type | Description |
---|---|---|
Coroutine | Toggle | Enable Coroutine if you want Visual Scripting to run this node and any of its connected nodes as a coroutine. Coroutine nodes don't execute all their code in a single frame, so they can spread an effect over several frames. Coroutines can also help optimize your code. For more information on coroutines, see the Unity User Manual section on Coroutines. |
Outputs
The On Input System Event Button node has one output port:
Name | Type | Description |
---|---|---|
Trigger | Output Trigger | The control output port. Make a connection to specify what Visual Scripting does after the configured Player Input event, such as a button press, occurs in the application. |
Example graph usage
In the following example, an On Input System Event Button node counts how many times the user has pressed a button from the Fire Input Action and logs the result to the console.
When a user presses a button associated with the Fire Input Action, Visual Scripting gets the current value of the Count
Object variable with a Get Variable node. The Get Variable node sends Count
's current value to an Add Inputs node's A port. Then, the Float literal node sends a value of 1
to the Add Inputs node's B port.
The On Input System Event Button node triggers the Set Variable node and assigns the value from the Add Inputs node's Sum port as the New Value of Count. The Set Variable node logs the value of Count to the console with the Debug Log node:
Related nodes
The following nodes are related or similar to the On Input System Event Button node: