Supported Input
To record & track.
For universal use, set Interaction → Manually Call and Step Start → Manually Call. Now you can bind a step to any type of input that you have implemented yourself, using a manual call from a script.
Input is provided for different types of targets: 3D/2D/UI or Any Target (anywhere). Currently, the following types of interactions and input are supported:
Click
Left mouse click or touch
PC & Mobile
UI Pointer + UI Hover + UI Graphic Text
RightClick
Right mouse button click
PC Only
UI Pointer Mouse + UI Hover
DoubleClick
Double left mouse click or double tap
PC & Mobile
UI Pointer Mouse + UI Hover
DoubleRightClick
Double right mouse click
PC Only
UI Pointer Mouse + UI Hover
Hold
Long press of the left mouse button or hold
PC & Mobile
UI Pointer Mouse + UI Hover
RightHold
Long press of the right mouse button
PC Only
UI Pointer Mouse + UI Hover
Drag
Long press of the left mouse button or hold with object movement
PC & Mobile
UI Pointer Mouse + UI Hover
RightDrag
Long press of the right mouse button with object movement
PC Only
UI Pointer Mouse + UI Hover
DragAndDrop*
Drag and drop element
PC & Mobile
UI Pointer + UI Hover + UI Graphic Text
RightDragAndDrop
Drag and drop element via right mouse button
PC Only
UI Pointer + UI Hover + UI Graphic Text
ScrollUp
Scroll up using mouse wheel
PC Only
UI Graphic Text
ScrollDown
Scroll down using mouse wheel
PC Only
UI Graphic Text
MouseHover
Waits for the mouse to hover over the object
PC Only
Set manually
ScreenCenterHover
Waits for the object to be aimed at by the center of the screen
PC & Mobile
Set manually
KeyCode
Quick key press and release, shorter than minHoldDuration. If there is a list of keys, the step requires pressing all of them, in any order, to complete it.
PC Only
UI Graphic Text
KeyCodeHold
Holding a key longer than minHoldDuration, released or not
PC Only
UI Graphic Text
KeyCodePress
Instant reaction to key press, with or without holding or releasing
PC Only
Set manually
KeyCodeRelease
Key release
PC Only
Set manually
KeyCodeCombo
Presence of 2+ required keys held simultaneously
PC Only
UI Graphic Text
KeyCodeDoublePress
Double key press in a row
PC Only
UI Graphic Text
KeyCodePressAnyOfKey
Instant reaction to key press, with or without holding or releasing. If there is a list of keys, the step requires pressing at least one of them to complete it.
PC Only
UI Graphic Text
SwipeUp
Swipe up with a mouse or touch
PC & Mobile
UI Graphic Swipe Circle
SwipeDown
Swipe down with a mouse or touch
PC & Mobile
UI Graphic Swipe Circle
SwipeLeft
Swipe left with a mouse or touch
PC & Mobile
UI Graphic Swipe Circle
SwipeRight
Swipe right with a mouse or touch
PC & Mobile
UI Graphic Swipe Circle
Middle Click
Middle mouse button click
PC Only
UI Pointer Mouse + UI Hover
Middle Hold
Middle mouse button hold
PC Only
UI Pointer Mouse + UI Hover
Pinch In
Pinch in gesture for zooming out
Mobile Only
UI Graphic Text
Pinch Out
Pinch out gesture for zooming in
Mobile Only
UI Graphic Text
Pinch Rotate
Gesture for rotating
Mobile Only
UI Graphic Text
* For the Drag and Drop interaction, two scenarios are possible:
If, during the movement, the held object becomes non-blocking for raycasts, and the object behind it can be recognized.
Both the initial and the final object are recognized. The interaction is considered a DragAndDrop.
The player will need to drag one object onto another.
If, during the movement, the held object does not become transparent for raycasts, and objects behind it cannot be recognized.
Only the initial object is recognized - that it was moved and released. The interaction is considered a Drag; however, it can be set to Drag & Drop manually.
The player will need to drag one object anywhere and release it (while the drag is performed already during the movement phase, even without release).
Check Object
The Check Object validation can be performed as follows:
Check Object = By Tag. Specify the Compare Tag as a string. Then the trigger selected above will only activate on objects with that tag.
Check Object = By Layer. Specify the Compare Layer as int index. Then the trigger selected above will only activate on objects with that layer.
Check Object = By Type. Specify the Compare Type: 3D/2D/UI. Then the trigger selected above will only activate on objects with that type.
Check Object = By Name. Specify the Compare Name. Then the trigger selected above will only activate on objects with name containing that part.
Check Object = By Component. Specify the Compare Component: from the list of custom components created in the project (not built-in, user-defined). Then the trigger selected above will only activate on objects with that component.
Check Object = By ComponentValue. Specify the Compare Component & it`s Value to compare with target value. So the trigger will only activate on objects with that component and required value. The selection can be made from scripts manually created in the project. Supported variable types: Bool, Int, Float, String, Enum. Available comparison operators: Equals (==), NotEquals (!=), GreaterThan (>), LessThan (<), GreaterOrEqual (>=), LessOrEqual (<=), Contains (string.Contains), StartsWith (string.StartsWith), EndsWith (string.EndsWith).

Configuration that triggers the visual only when hovering over objects with IsHexAvailable = true in the ValueHandler component on the object.
Old and New Input System
Starting from version ATM 3.0.1, when the TutorialSystem prefab is added to the scene, the Input Controller automatically adjusts to match the Input System in the project, edits or removes the child backup EventSystem if it already exists in the scene. However, manual correction may still be required.
By default, the system is set up for the Old Input Manager. To fully switch to the New one, follow these steps:
Open Edit → Project Settings → Player → Configuration, and set Active Input Handling to New if is not already selected.
Install the Input System Unity package if it is not already installed.
Set EventSystem to InputSystemUIInputModule if it is not already used.
Set inputSystemType to New in the InputController component.

Last updated