docs.unity3d.com
    Show / Hide Table of Contents

    Interface IInputActionCollection2

    An extended version of IInputActionCollection.

    Inherited Members
    IInputActionCollection.bindingMask
    IInputActionCollection.devices
    IInputActionCollection.controlSchemes
    IInputActionCollection.Contains(InputAction)
    IInputActionCollection.Enable()
    IInputActionCollection.Disable()
    Namespace: UnityEngine.InputSystem
    Syntax
    public interface IInputActionCollection2 : IInputActionCollection, IEnumerable<InputAction>
    Remarks

    This interface will be merged into IInputActionCollection in a future (major) version.

    Properties

    bindings

    Iterate over all bindings in the collection of actions.

    Declaration
    IEnumerable<InputBinding> bindings { get; }
    Property Value
    Type Description
    IEnumerable<InputBinding>
    See Also
    bindings
    bindings
    bindings

    Methods

    FindAction(String, Boolean)

    Find an InputAction in the collection by its name or by its id (in string form).

    Declaration
    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.

    Alternatively, the given string can be a GUID as given by id.

    Boolean throwIfNotFound

    If true, instead of returning null when the action cannot be found, throw ArgumentException.

    Returns
    Type Description
    InputAction

    The action with the corresponding name or null if no matching action could be found.

    FindBinding(InputBinding, out InputAction)

    Find the index of the first binding that matches the given mask.

    Declaration
    int FindBinding(InputBinding mask, out InputAction action)
    Parameters
    Type Name Description
    InputBinding mask

    A binding. See Matches(InputBinding) for details.

    InputAction action

    Receives the action on which the binding was found. If none was found, will be set to null.

    Returns
    Type Description
    Int32

    Index into bindings of action of the binding that matches mask. If no binding matches, will return -1.

    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}");
    See Also
    Matches(InputBinding)
    bindings

    Extension Methods

    InputActionRebindingExtensions.RemoveAllBindingOverrides(IInputActionCollection2)
    InputActionRebindingExtensions.SaveBindingOverridesAsJson(IInputActionCollection2)
    InputActionRebindingExtensions.LoadBindingOverridesFromJson(IInputActionCollection2, String, Boolean)
    In This Article
    • Properties
      • bindings
    • Methods
      • FindAction(String, Boolean)
      • FindBinding(InputBinding, out InputAction)
    • Extension Methods
    Back to top
    Terms of use
    Copyright © 2023 Unity Technologies — Terms of use
    • Legal
    • Privacy Policy
    • Cookies
    • Do Not Sell or Share My Personal Information
    • Your Privacy Choices (Cookie Settings)
    "Unity", Unity logos, and other Unity trademarks are trademarks or registered trademarks of Unity Technologies or its affiliates in the U.S. and elsewhere (more info here). Other names or brands are trademarks of their respective owners.
    Generated by DocFX on 18 October 2023