- Controls carry Unity's usages (InputControl.usages, InternedString), recorded from Unity's keyboard, mouse, gamepad and touchscreen layouts: Escape Back|Cancel, Enter Submit (not numpad Enter), the Shift/Alt/Ctrl/Meta keys and ContextMenu Modifier; the gamepad's south button PrimaryAction|Submit, east Back|Cancel, west SecondaryAction, start Menu, d-pad Hatswitch, sticks Primary/Secondary2DMotion, triggers SecondaryTrigger; pointers' position Point, delta Secondary2DMotion, pressure, radius; mouse buttons Primary/SecondaryAction, Forward, Back, scroll axes; a touch's tap PrimaryAction.
- Binding paths name usages (
*/{Submit},<Gamepad>/{Cancel}: every control on the device with it). InputControlPath: Matches (a usage matches the device's own controls only, as Unity's: not a touch's tap), TryFindControl, TryGetDeviceLayout, ToHumanReadableString. DefaultInputActions' Submit and Cancel are bound by usage, as Unity's. - allControls lists a device's controls in Unity's order (its children, then theirs; Shift after Right Shift; the mouse's in its state's order), and the touchscreen's primaryTouch is one of its controls (bindings to
primaryTouch/...found nothing before). - Checked by control_usages, recorded in Unity 6000.3 (exact). Unity's TryFindControl by index returns each usage match twice; that isn't reproduced.
- Next: XR and joystick devices (their usages: Primary2DAxis, Hatswitch, Trigger); URP render features; humanoid avatars and retargeting.
Phase 6 · Slice 53 ·