Class DefaultInputActions
A default InputAction setup.
Implements
Namespace: UnityEngine.InputSystem
Assembly: Unity.InputSystem.dll
Syntax
public class DefaultInputActions : IInputActionCollection2, IInputActionCollection, IEnumerable<InputAction>, IEnumerable, IDisposable
Remarks
This class is auto-generated from the DefaultAction.inputactions
asset that comes with the Input System.
// Instantiate the default action set.
var actions = new DefaultInputActions();
// One way to use the actions:
actions.Player.Enable();
actions.Player.Fire.performed += _ => Fire();
// Or:
if (actions.Player.Fire.WasPressedThisFrame())
Fire();
// Another way is with PlayerInput, for example:
var playerInput = AddComponent<PlayerInput>();
playerInput.actions = actions.asset;
Constructors
DefaultInputActions()
Declaration
public DefaultInputActions()
Properties
GamepadScheme
Declaration
public InputControlScheme GamepadScheme { get; }
Property Value
Type | Description |
---|---|
InputControlScheme |
JoystickScheme
Declaration
public InputControlScheme JoystickScheme { get; }
Property Value
Type | Description |
---|---|
InputControlScheme |
KeyboardMouseScheme
Declaration
public InputControlScheme KeyboardMouseScheme { get; }
Property Value
Type | Description |
---|---|
InputControlScheme |
Player
Declaration
public DefaultInputActions.PlayerActions Player { get; }
Property Value
Type | Description |
---|---|
DefaultInputActions.PlayerActions |
TouchScheme
Declaration
public InputControlScheme TouchScheme { get; }
Property Value
Type | Description |
---|---|
InputControlScheme |
UI
Declaration
public DefaultInputActions.UIActions UI { get; }
Property Value
Type | Description |
---|---|
DefaultInputActions.UIActions |
XRScheme
Declaration
public InputControlScheme XRScheme { get; }
Property Value
Type | Description |
---|---|
InputControlScheme |
asset
Declaration
public InputActionAsset asset { get; }
Property Value
Type | Description |
---|---|
InputActionAsset |
bindingMask
Optional mask applied to all bindings in the collection.
Declaration
public InputBinding? bindingMask { get; set; }
Property Value
Type | Description |
---|---|
InputBinding? |
Remarks
If this is not null, only bindings that match the mask will be used.
Modifying this property while any of the actions in the collection are enabled will lead to the actions getting disabled temporarily and then re-enabled.
bindings
Iterate over all bindings in the collection of actions.
Declaration
public IEnumerable<InputBinding> bindings { get; }
Property Value
Type | Description |
---|---|
IEnumerable<InputBinding> |
See Also
controlSchemes
List of control schemes defined for the set of actions.
Declaration
public ReadOnlyArray<InputControlScheme> controlSchemes { get; }
Property Value
Type | Description |
---|---|
ReadOnlyArray<InputControlScheme> |
Remarks
Control schemes are optional and the list may be empty.
devices
Devices to use with the actions in this collection.
Declaration
public ReadOnlyArray<InputDevice>? devices { get; set; }
Property Value
Type | Description |
---|---|
ReadOnlyArray<InputDevice>? |
Remarks
If this is set, actions in the collection will exclusively bind to devices in the given list. For example, if two gamepads are present in the system yet only one gamepad is listed here, then a "<Gamepad>/leftStick" binding will only bind to the gamepad in the list and not to the one that is only available globally.
Modifying this property after bindings in the collection have already been resolved, will lead to controls getting refreshed. If any of the actions in the collection are currently in progress (see phase), the actions will remain unaffected and in progress except if the controls currently driving them (see activeControl) are no longer part of any of the selected devices. In that case, the action is canceled.
Methods
Contains(InputAction)
Check whether the given action is contained in this collection.
Declaration
public bool Contains(InputAction action)
Parameters
Type | Name | Description |
---|---|---|
InputAction | action | An arbitrary input action. |
Returns
Type | Description |
---|---|
bool | True if the given action is contained in the collection, false if not. |
Remarks
Calling this method will not allocate GC memory (unlike when iterating generically over the collection). Also, a collection may have a faster containment check rather than having to search through all its actions.
Disable()
Disable all actions in the collection.
Declaration
public void Disable()
See Also
Dispose()
Declaration
public void Dispose()
Enable()
Enable all actions in the collection.
Declaration
public void Enable()
See Also
FindAction(string, bool)
Find an InputAction in the collection by its name or by its id (in string form).
Declaration
public InputAction FindAction(string actionNameOrId, bool throwIfNotFound = false)
Parameters
Type | Name | Description |
---|---|---|
string | actionNameOrId | Name of the action as either a "map/action" combination (e.g. "gameplay/fire") or a simple name. In the former case, the name is split at the '/' slash and the first part is used to find a map with that name and the second part is used to find an action with that name inside the map. In the latter case, all maps are searched in order and the first action that has the given name in any of the maps is returned. Note that name comparisons are case-insensitive.
|
bool | throwIfNotFound | If |
Returns
Type | Description |
---|---|
InputAction | The action with the corresponding name or |
Exceptions
Type | Condition |
---|---|
ArgumentNullException |
|
ArgumentException | Thrown if |
FindBinding(InputBinding, out InputAction)
Find the index of the first binding that matches the given mask.
Declaration
public int FindBinding(InputBinding bindingMask, out InputAction action)
Parameters
Type | Name | Description |
---|---|---|
InputBinding | bindingMask | |
InputAction | action | Receives the action on which the binding was found. If none was found,
will be set to |
Returns
Type | Description |
---|---|
int | Index into bindings of |
Remarks
For details about matching bindings by a mask, see Matches(InputBinding).
var index = playerInput.actions.FindBinding(
new InputBinding { path = "<Gamepad>/buttonSouth" },
out var action);
if (index != -1)
Debug.Log($"The A button is bound to {action}");</code></pre></example>
See Also
GetEnumerator()
Declaration
public IEnumerator<InputAction> GetEnumerator()
Returns
Type | Description |
---|---|
IEnumerator<InputAction> |