Class InputActionMap
A mapping of InputBinding to InputAction.
Inheritance
Namespace: UnityEngine.Experimental.Input
Syntax
public class InputActionMap : ICloneable, ISerializationCallbackReceiver, IInputActionCollection, IEnumerable<InputAction>
Remarks
Also stores data for actions. All actions have to have an associated action map. "Lose" actions constructed without a map will internally create their own map to hold their data.
A common usage pattern for action maps is to use them to group action "contexts". So one map could hold "menu" actions, for example, whereas another set holds "gameplay" actions. This kind of splitting can be made arbitrarily complex. Like, you could have separate "driving" and "walking" action maps, for example, that you enable and disable depending on whether the player is walking or driving around.
Constructors
InputActionMap(String, InputActionMap)
Declaration
public InputActionMap(string name = null, InputActionMap extend = null)
Parameters
Type | Name | Description |
---|---|---|
System.String | name | |
InputActionMap | extend |
Properties
actions
List of actions contained in the map.
Declaration
public ReadOnlyArray<InputAction> actions { get; }
Property Value
Type | Description |
---|---|
ReadOnlyArray<InputAction> |
Remarks
Actions are owned by their map. The same action cannot appear in multiple maps.
Does not allocate. Note that values returned by the property become invalid if the setup of actions in a set is changed.
asset
If the action map is part of an asset, this refers to the asset. Otherwise it is null
.
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 |
---|---|
System.Nullable<InputBinding> |
Implements
Remarks
If this is not null, only bindings that match the mask will be used.
bindings
List of bindings contained in the map.
Declaration
public ReadOnlyArray<InputBinding> bindings { get; }
Property Value
Type | Description |
---|---|
ReadOnlyArray<InputBinding> |
Remarks
InputBinding are owned by action maps and not by individual actions. The bindings in a map can form a tree and conceptually, this array represents a depth-first traversal of the tree.
Bindings that trigger actions refer to the action by name.
controlSchemes
Declaration
public ReadOnlyArray<InputControlScheme> controlSchemes { get; }
Property Value
Type | Description |
---|---|
ReadOnlyArray<InputControlScheme> |
Implements
devices
Devices to use with the actions in this collection.
Declaration
public ReadOnlyArray<InputDevice>? devices { get; set; }
Property Value
Type | Description |
---|---|
System.Nullable<ReadOnlyArray<InputDevice>> |
Implements
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.
enabled
Whether any action in the map is currently enabled.
Declaration
public bool enabled { get; }
Property Value
Type | Description |
---|---|
System.Boolean |
id
A stable, unique identifier for the map.
Declaration
public Guid id { get; }
Property Value
Type | Description |
---|---|
Guid |
Remarks
This can be used instead of the name to refer to the action map. Doing so allows referring to the map such that renaming it does not break references.
Item[String]
Declaration
public InputAction this[string actionNameOrId] { get; }
Parameters
Type | Name | Description |
---|---|---|
System.String | actionNameOrId |
Property Value
Type | Description |
---|---|
InputAction |
name
Name of the action map.
Declaration
public string name { get; }
Property Value
Type | Description |
---|---|
System.String |
Methods
Clone()
Declaration
public InputActionMap Clone()
Returns
Type | Description |
---|---|
InputActionMap |
Contains(InputAction)
Declaration
public bool Contains(InputAction action)
Parameters
Type | Name | Description |
---|---|---|
InputAction | action |
Returns
Type | Description |
---|---|
System.Boolean |
Implements
Disable()
Disable all the actions in the map.
Declaration
public void Disable()
Implements
Enable()
Enable all the actions in the map.
Declaration
public void Enable()
Implements
FromJson(String)
Declaration
public static InputActionMap[] FromJson(string json)
Parameters
Type | Name | Description |
---|---|---|
System.String | json |
Returns
Type | Description |
---|---|
InputActionMap[] |
GetAction(Guid)
Declaration
public InputAction GetAction(Guid id)
Parameters
Type | Name | Description |
---|---|---|
Guid | id |
Returns
Type | Description |
---|---|
InputAction |
GetAction(String)
Declaration
public InputAction GetAction(string name)
Parameters
Type | Name | Description |
---|---|---|
System.String | name |
Returns
Type | Description |
---|---|
InputAction |
GetEnumerator()
Enumerate the actions in the map.
Declaration
public IEnumerator<InputAction> GetEnumerator()
Returns
Type | Description |
---|---|
IEnumerator<InputAction> | An enumerator going over the actions in the map. |
Remarks
This method supports to generically iterate over the actions in a map. However, it will usually lead to GC allocation. Iterating directly over actions avoids allocating GC memory.
OnAfterDeserialize()
Declaration
public void OnAfterDeserialize()
OnBeforeSerialize()
Declaration
public void OnBeforeSerialize()
ToJson()
Declaration
public string ToJson()
Returns
Type | Description |
---|---|
System.String |
ToJson(IEnumerable<InputActionMap>)
Declaration
public static string ToJson(IEnumerable<InputActionMap> sets)
Parameters
Type | Name | Description |
---|---|---|
IEnumerable<InputActionMap> | sets |
Returns
Type | Description |
---|---|
System.String |
ToString()
Declaration
public override string ToString()
Returns
Type | Description |
---|---|
System.String |
TryGetAction(Guid)
Declaration
public InputAction TryGetAction(Guid id)
Parameters
Type | Name | Description |
---|---|---|
Guid | id |
Returns
Type | Description |
---|---|
InputAction |
TryGetAction(String)
Declaration
public InputAction TryGetAction(string name)
Parameters
Type | Name | Description |
---|---|---|
System.String | name |
Returns
Type | Description |
---|---|
InputAction |
Events
actionTriggered
Add or remove a callback that is triggered when an action in the map changes its InputActionPhase.
Declaration
public event Action<InputAction.CallbackContext> actionTriggered
Event Type
Type | Description |
---|---|
Action<InputAction.CallbackContext> |