Class InputActionSetupExtensions
Methods to change the setup of InputAction, InputActionMap, and InputActionAsset objects.
Namespace: UnityEngine.InputSystem
Syntax
public static class InputActionSetupExtensions
Remarks
Unlike the methods in InputActionRebindingExtensions, the methods here are generally destructive, i.e. they will rearrange the data for actions.
Methods
AddAction(InputActionMap, String, InputActionType, String, String, String, String, String)
Declaration
public static InputAction AddAction(this InputActionMap map, string name, InputActionType type = InputActionType.Value, string binding = null, string interactions = null, string processors = null, string groups = null, string expectedControlLayout = null)
Parameters
| Type | Name | Description |
|---|---|---|
| InputActionMap | map | |
| String | name | |
| InputActionType | type | |
| String | binding | |
| String | interactions | |
| String | processors | |
| String | groups | |
| String | expectedControlLayout |
Returns
| Type | Description |
|---|---|
| InputAction |
AddActionMap(InputActionAsset, String)
Create an action map with the given name and add it to the asset.
Declaration
public static InputActionMap AddActionMap(this InputActionAsset asset, string name)
Parameters
| Type | Name | Description |
|---|---|---|
| InputActionAsset | asset | Asset to add the action map to |
| String | name | Name to assign to the |
Returns
| Type | Description |
|---|---|
| InputActionMap | The newly added action map. |
Exceptions
| Type | Condition |
|---|---|
| ArgumentNullException |
|
AddActionMap(InputActionAsset, InputActionMap)
Add an action map to the asset.
Declaration
public static void AddActionMap(this InputActionAsset asset, InputActionMap map)
Parameters
| Type | Name | Description |
|---|---|---|
| InputActionAsset | asset | Asset to add the map to. |
| InputActionMap | map | A named action map. |
Exceptions
| Type | Condition |
|---|---|
| ArgumentNullException |
|
| InvalidOperationException |
|
See Also
AddBinding(InputAction, String, String, String, String)
Add a new binding to the given action.
Declaration
public static InputActionSetupExtensions.BindingSyntax AddBinding(this InputAction action, string path, string interactions = null, string processors = null, string groups = null)
Parameters
| Type | Name | Description |
|---|---|---|
| InputAction | action | Action to add the binding to. If the action is part of an InputActionMap, the newly added binding will be visible on bindings. |
| String | path | Binding path string. See path for details. |
| String | interactions | Optional list of interactions to apply to the binding. See interactions for details. |
| String | processors | Optional list of processors to apply to the binding. See processors for details. |
| String | groups | Optional list of binding groups that should be assigned to the binding. See groups for details. |
Returns
| Type | Description |
|---|---|
| InputActionSetupExtensions.BindingSyntax | Fluent-style syntax to further configure the binding. |
AddBinding(InputAction, InputBinding)
Add a new binding to the action.
Declaration
public static InputActionSetupExtensions.BindingSyntax AddBinding(this InputAction action, InputBinding binding = default(InputBinding))
Parameters
| Type | Name | Description |
|---|---|---|
| InputAction | action | An action to add the binding to. |
| InputBinding | binding | Binding to add to the action or default. Binding can be further configured via the struct returned by the method. |
Returns
| Type | Description |
|---|---|
| InputActionSetupExtensions.BindingSyntax | Returns a fluent-style syntax structure that allows performing additional modifications based on the new binding. |
Remarks
This works both with actions that are part of an action set as well as with actions that aren't.
Note that actions must be disabled while altering their binding sets. Also, if the action belongs to a set, all actions in the set must be disabled.
fireAction.AddBinding()
.WithPath("<Gamepad>/buttonSouth")
.WithGroup("Gamepad");
AddBinding(InputAction, InputControl)
Add a binding that references the given control and triggers
the given
Declaration
public static InputActionSetupExtensions.BindingSyntax AddBinding(this InputAction action, InputControl control)
Parameters
| Type | Name | Description |
|---|---|---|
| InputAction | action | Action to trigger. |
| InputControl | control | Control to bind to. The full path of the control will be used in the resulting InputBinding. |
Returns
| Type | Description |
|---|---|
| InputActionSetupExtensions.BindingSyntax | Syntax to configure the binding further. |
Exceptions
| Type | Condition |
|---|---|
| ArgumentNullException |
|
See Also
AddBinding(InputActionMap, String, Guid, String, String)
Declaration
public static InputActionSetupExtensions.BindingSyntax AddBinding(this InputActionMap actionMap, string path, Guid action, string interactions = null, string groups = null)
Parameters
| Type | Name | Description |
|---|---|---|
| InputActionMap | actionMap | |
| String | path | |
| Guid | action | |
| String | interactions | |
| String | groups |
Returns
| Type | Description |
|---|---|
| InputActionSetupExtensions.BindingSyntax |
AddBinding(InputActionMap, String, String, String, String)
Declaration
public static InputActionSetupExtensions.BindingSyntax AddBinding(this InputActionMap actionMap, string path, string interactions = null, string groups = null, string action = null)
Parameters
| Type | Name | Description |
|---|---|---|
| InputActionMap | actionMap | |
| String | path | |
| String | interactions | |
| String | groups | |
| String | action |
Returns
| Type | Description |
|---|---|
| InputActionSetupExtensions.BindingSyntax |
AddBinding(InputActionMap, String, InputAction, String, String)
Declaration
public static InputActionSetupExtensions.BindingSyntax AddBinding(this InputActionMap actionMap, string path, InputAction action, string interactions = null, string groups = null)
Parameters
| Type | Name | Description |
|---|---|---|
| InputActionMap | actionMap | |
| String | path | |
| InputAction | action | |
| String | interactions | |
| String | groups |
Returns
| Type | Description |
|---|---|
| InputActionSetupExtensions.BindingSyntax |
AddBinding(InputActionMap, InputBinding)
Declaration
public static InputActionSetupExtensions.BindingSyntax AddBinding(this InputActionMap actionMap, InputBinding binding)
Parameters
| Type | Name | Description |
|---|---|---|
| InputActionMap | actionMap | |
| InputBinding | binding |
Returns
| Type | Description |
|---|---|
| InputActionSetupExtensions.BindingSyntax |
AddCompositeBinding(InputAction, String, String, String)
Declaration
public static InputActionSetupExtensions.CompositeSyntax AddCompositeBinding(this InputAction action, string composite, string interactions = null, string processors = null)
Parameters
| Type | Name | Description |
|---|---|---|
| InputAction | action | |
| String | composite | |
| String | interactions | |
| String | processors |
Returns
| Type | Description |
|---|---|
| InputActionSetupExtensions.CompositeSyntax |
AddControlScheme(InputActionAsset, String)
Add a new control scheme to the given asset.
Declaration
public static InputActionSetupExtensions.ControlSchemeSyntax AddControlScheme(this InputActionAsset asset, string name)
Parameters
| Type | Name | Description |
|---|---|---|
| InputActionAsset | asset | Asset to add the control scheme to. |
| String | name | Name to give to the control scheme. Must be unique within the control schemes of the asset. Also used as default name of bindingGroup associated with the control scheme. |
Returns
| Type | Description |
|---|---|
| InputActionSetupExtensions.ControlSchemeSyntax | Syntax to allow providing additional configuration for the newly added control scheme. |
Exceptions
| Type | Condition |
|---|---|
| ArgumentNullException |
|
AddControlScheme(InputActionAsset, InputControlScheme)
Add a new control scheme to the asset.
Declaration
public static void AddControlScheme(this InputActionAsset asset, InputControlScheme controlScheme)
Parameters
| Type | Name | Description |
|---|---|---|
| InputActionAsset | asset | Asset to add the control scheme to. |
| InputControlScheme | controlScheme | Control scheme to add. |
Exceptions
| Type | Condition |
|---|---|
| ArgumentException |
|
| ArgumentNullException |
|
| InvalidOperationException | A control scheme with the same name as |
ChangeBinding(InputAction, Int32)
Declaration
public static InputActionSetupExtensions.BindingSyntax ChangeBinding(this InputAction action, int index)
Parameters
| Type | Name | Description |
|---|---|---|
| InputAction | action | |
| Int32 | index |
Returns
| Type | Description |
|---|---|
| InputActionSetupExtensions.BindingSyntax |
ChangeBinding(InputAction, InputBinding)
Declaration
public static InputActionSetupExtensions.BindingSyntax ChangeBinding(this InputAction action, InputBinding match)
Parameters
| Type | Name | Description |
|---|---|---|
| InputAction | action | |
| InputBinding | match |
Returns
| Type | Description |
|---|---|
| InputActionSetupExtensions.BindingSyntax |
ChangeBindingWithGroup(InputAction, String)
Declaration
public static InputActionSetupExtensions.BindingSyntax ChangeBindingWithGroup(this InputAction action, string group)
Parameters
| Type | Name | Description |
|---|---|---|
| InputAction | action | |
| String | group |
Returns
| Type | Description |
|---|---|
| InputActionSetupExtensions.BindingSyntax |
ChangeBindingWithId(InputAction, Guid)
Declaration
public static InputActionSetupExtensions.BindingSyntax ChangeBindingWithId(this InputAction action, Guid id)
Parameters
| Type | Name | Description |
|---|---|---|
| InputAction | action | |
| Guid | id |
Returns
| Type | Description |
|---|---|
| InputActionSetupExtensions.BindingSyntax |
ChangeBindingWithId(InputAction, String)
Declaration
public static InputActionSetupExtensions.BindingSyntax ChangeBindingWithId(this InputAction action, string id)
Parameters
| Type | Name | Description |
|---|---|---|
| InputAction | action | |
| String | id |
Returns
| Type | Description |
|---|---|
| InputActionSetupExtensions.BindingSyntax |
ChangeBindingWithPath(InputAction, String)
Declaration
public static InputActionSetupExtensions.BindingSyntax ChangeBindingWithPath(this InputAction action, string path)
Parameters
| Type | Name | Description |
|---|---|---|
| InputAction | action | |
| String | path |
Returns
| Type | Description |
|---|---|
| InputActionSetupExtensions.BindingSyntax |
OrWithOptionalDevice(InputControlScheme, String)
Declaration
public static InputControlScheme OrWithOptionalDevice(this InputControlScheme scheme, string controlPath)
Parameters
| Type | Name | Description |
|---|---|---|
| InputControlScheme | scheme | |
| String | controlPath |
Returns
| Type | Description |
|---|---|
| InputControlScheme |
OrWithRequiredDevice(InputControlScheme, String)
Declaration
public static InputControlScheme OrWithRequiredDevice(this InputControlScheme scheme, string controlPath)
Parameters
| Type | Name | Description |
|---|---|---|
| InputControlScheme | scheme | |
| String | controlPath |
Returns
| Type | Description |
|---|---|
| InputControlScheme |
RemoveAction(InputAction)
Remove the given action from its InputActionMap.
Declaration
public static void RemoveAction(this InputAction action)
Parameters
| Type | Name | Description |
|---|---|---|
| InputAction | action | An input action that is part of an InputActionMap. |
Remarks
After removal, the action's actionMap will be set to null
and the action will effectively become a standalone action that is not associated with
any action map. Bindings on the action will be preserved. On the action map, the bindings
for the action will be removed.
Exceptions
| Type | Condition |
|---|---|
| ArgumentNullException |
|
| ArgumentException |
|
See Also
RemoveAction(InputActionAsset, String)
Remove the action with the given name from the asset.
Declaration
public static void RemoveAction(this InputActionAsset asset, string nameOrId)
Parameters
| Type | Name | Description |
|---|---|---|
| InputActionAsset | asset | Asset to remove the action from. |
| String | nameOrId | Name or ID of the action. See FindAction(String, Boolean) for details. |
Exceptions
| Type | Condition |
|---|---|
| ArgumentNullException |
|
See Also
RemoveActionMap(InputActionAsset, String)
Remove the action map with the given name or ID from the asset.
Declaration
public static void RemoveActionMap(this InputActionAsset asset, string nameOrId)
Parameters
| Type | Name | Description |
|---|---|---|
| InputActionAsset | asset | Asset to remove the action map from. |
| String | nameOrId | The name or ID (see id) of a map in the asset. Note that lookup is case-insensitive. If no map with the given name or ID is found, the method does nothing. |
Exceptions
| Type | Condition |
|---|---|
| ArgumentNullException |
|
| InvalidOperationException | The map referenced by |
See Also
RemoveActionMap(InputActionAsset, InputActionMap)
Remove the given action map from the asset.
Declaration
public static void RemoveActionMap(this InputActionAsset asset, InputActionMap map)
Parameters
| Type | Name | Description |
|---|---|---|
| InputActionAsset | asset | Asset to add the action map to. |
| InputActionMap | map | An action map. If the given map is not part of the asset, the method does nothing. |
Exceptions
| Type | Condition |
|---|---|
| ArgumentNullException |
|
| InvalidOperationException |
|
See Also
RemoveControlScheme(InputActionAsset, String)
Remove the control scheme with the given name from the asset.
Declaration
public static void RemoveControlScheme(this InputActionAsset asset, string name)
Parameters
| Type | Name | Description |
|---|---|---|
| InputActionAsset | asset | Asset to remove the control scheme from. |
| String | name | Name of the control scheme. Matching is case-insensitive. |
Remarks
If no control scheme with the given name can be found, the method does nothing.
Exceptions
| Type | Condition |
|---|---|
| ArgumentNullException |
|
Rename(InputAction, String)
Rename an existing action.
Declaration
public static void Rename(this InputAction action, string newName)
Parameters
| Type | Name | Description |
|---|---|---|
| InputAction | action | Action to assign a new name to. Can be singleton action or action that is part of a map. |
| String | newName | New name to assign to action. Cannot be empty. |
Remarks
Renaming an action will also update the bindings that refer to the action.
Exceptions
| Type | Condition |
|---|---|
| ArgumentNullException |
|
| InvalidOperationException | actionMap of |
WithBindingGroup(InputControlScheme, String)
Declaration
public static InputControlScheme WithBindingGroup(this InputControlScheme scheme, string bindingGroup)
Parameters
| Type | Name | Description |
|---|---|---|
| InputControlScheme | scheme | |
| String | bindingGroup |
Returns
| Type | Description |
|---|---|
| InputControlScheme |
WithOptionalDevice(InputControlScheme, String)
Declaration
public static InputControlScheme WithOptionalDevice(this InputControlScheme scheme, string controlPath)
Parameters
| Type | Name | Description |
|---|---|---|
| InputControlScheme | scheme | |
| String | controlPath |
Returns
| Type | Description |
|---|---|
| InputControlScheme |
WithRequiredDevice(InputControlScheme, String)
Declaration
public static InputControlScheme WithRequiredDevice(this InputControlScheme scheme, string controlPath)
Parameters
| Type | Name | Description |
|---|---|---|
| InputControlScheme | scheme | |
| String | controlPath |
Returns
| Type | Description |
|---|---|
| InputControlScheme |