Search Unity

  1. Unity 6 Preview is now available. To find out what's new, have a look at our Unity 6 Preview blog post.
    Dismiss Notice
  2. Unity is excited to announce that we will be collaborating with TheXPlace for a summer game jam from June 13 - June 19. Learn more.
    Dismiss Notice

Bug Controller inputs are mixed up in WebGL builds

Discussion in 'Input System' started by samboknight, Apr 1, 2024.

  1. samboknight

    samboknight

    Joined:
    Aug 31, 2019
    Posts:
    27
    I'm using Unity 2021.3.33f1 and Input System 1.7.0.

    I have a game that supports keyboard and controller input. I'm distributing builds for PC (Windows/Linux) and WebGL. In the PC builds, controller input works as I expect, but in the WebGL build, the controller connects and the game receives inputs, but the bindings on those inputs are completely mixed up for some reason. Input from the keyboard is unaffected by this issue.

    From what I've been able to find online, it doesn't seem like I need to do anything special to get controller inputs to work on a standalone PC build and on the browser. Is there something I'm missing here?
     
  2. samboknight

    samboknight

    Joined:
    Aug 31, 2019
    Posts:
    27
  3. samboknight

    samboknight

    Joined:
    Aug 31, 2019
    Posts:
    27
    Bump 2: Electric Boogaloo

    Some additional info: The controller inputs don't work properly in Chrome or Firefox. Some people online had a similar issue and were able to fix it by forcing the auto-generated C# scripts to regenerate. I tried that and it made no difference.
     
  4. samboknight

    samboknight

    Joined:
    Aug 31, 2019
    Posts:
    27
    Bump.

    I guess I'm just going to have to drop controller support in Web builds, since I don't even know where to begin figuring out what's going wrong with the inputs.

    My InputActions asset file if that helps:
    Code (CSharp):
    1. {
    2.     "name": "Controls",
    3.     "maps": [
    4.         {
    5.             "name": "Gameplay",
    6.             "id": "3e8f3bfc-2b1c-4a1d-a73b-01bc831a2461",
    7.             "actions": [
    8.                 {
    9.                     "name": "Grow",
    10.                     "type": "Button",
    11.                     "id": "be054247-32ab-4c4c-b67b-065a1eda211d",
    12.                     "expectedControlType": "Button",
    13.                     "processors": "",
    14.                     "interactions": "",
    15.                     "initialStateCheck": false
    16.                 },
    17.                 {
    18.                     "name": "MoveHorizontal",
    19.                     "type": "Value",
    20.                     "id": "659a9d24-9fd3-43a1-954d-951fdf1aae8b",
    21.                     "expectedControlType": "Axis",
    22.                     "processors": "",
    23.                     "interactions": "",
    24.                     "initialStateCheck": true
    25.                 },
    26.                 {
    27.                     "name": "MoveVertical",
    28.                     "type": "Value",
    29.                     "id": "01623d10-4162-4db9-84df-659ebf86d9a8",
    30.                     "expectedControlType": "Axis",
    31.                     "processors": "",
    32.                     "interactions": "",
    33.                     "initialStateCheck": true
    34.                 },
    35.                 {
    36.                     "name": "UseBinoculars",
    37.                     "type": "Button",
    38.                     "id": "83d338e1-27c3-4114-90d4-1014356f6675",
    39.                     "expectedControlType": "Button",
    40.                     "processors": "",
    41.                     "interactions": "",
    42.                     "initialStateCheck": false
    43.                 },
    44.                 {
    45.                     "name": "Pause",
    46.                     "type": "Button",
    47.                     "id": "e52bf857-4440-42cf-ae53-97a8c28e1e4f",
    48.                     "expectedControlType": "Button",
    49.                     "processors": "",
    50.                     "interactions": "",
    51.                     "initialStateCheck": false
    52.                 },
    53.                 {
    54.                     "name": "Restart",
    55.                     "type": "Button",
    56.                     "id": "0c29e4d2-6ca3-4c70-b7cb-7e4524435a28",
    57.                     "expectedControlType": "Button",
    58.                     "processors": "",
    59.                     "interactions": "",
    60.                     "initialStateCheck": false
    61.                 },
    62.                 {
    63.                     "name": "InteractRight",
    64.                     "type": "Button",
    65.                     "id": "7a2f0243-f07a-40df-9489-277197a0c984",
    66.                     "expectedControlType": "Button",
    67.                     "processors": "",
    68.                     "interactions": "",
    69.                     "initialStateCheck": false
    70.                 },
    71.                 {
    72.                     "name": "InteractLeft",
    73.                     "type": "Button",
    74.                     "id": "3731396b-d8ca-4f25-87ca-4c08ce4812c6",
    75.                     "expectedControlType": "Button",
    76.                     "processors": "",
    77.                     "interactions": "",
    78.                     "initialStateCheck": false
    79.                 },
    80.                 {
    81.                     "name": "LeftTrigger",
    82.                     "type": "Button",
    83.                     "id": "7cbb17ad-0a1d-4cc7-8ab3-874009d594a3",
    84.                     "expectedControlType": "Button",
    85.                     "processors": "",
    86.                     "interactions": "",
    87.                     "initialStateCheck": false
    88.                 },
    89.                 {
    90.                     "name": "RightTrigger",
    91.                     "type": "Button",
    92.                     "id": "a7ff98f7-4ad5-4d82-82a6-1493f7b8ff6d",
    93.                     "expectedControlType": "Button",
    94.                     "processors": "",
    95.                     "interactions": "",
    96.                     "initialStateCheck": false
    97.                 }
    98.             ],
    99.             "bindings": [
    100.                 {
    101.                     "name": "",
    102.                     "id": "51665b8b-5dd4-4a73-9242-306387d4c2f8",
    103.                     "path": "<Keyboard>/space",
    104.                     "interactions": "",
    105.                     "processors": "",
    106.                     "groups": "Mouse+Keyboard",
    107.                     "action": "Grow",
    108.                     "isComposite": false,
    109.                     "isPartOfComposite": false
    110.                 },
    111.                 {
    112.                     "name": "",
    113.                     "id": "b3f84524-8e87-456a-9d39-60330ed34d8a",
    114.                     "path": "<Gamepad>/buttonSouth",
    115.                     "interactions": "",
    116.                     "processors": "",
    117.                     "groups": "Gamepad",
    118.                     "action": "Grow",
    119.                     "isComposite": false,
    120.                     "isPartOfComposite": false
    121.                 },
    122.                 {
    123.                     "name": "WASD",
    124.                     "id": "82fbe738-3606-46e2-93d6-25b2be20556a",
    125.                     "path": "1DAxis",
    126.                     "interactions": "",
    127.                     "processors": "",
    128.                     "groups": "",
    129.                     "action": "MoveHorizontal",
    130.                     "isComposite": true,
    131.                     "isPartOfComposite": false
    132.                 },
    133.                 {
    134.                     "name": "negative",
    135.                     "id": "b825033d-561d-4ff3-8c28-213bd62ded25",
    136.                     "path": "<Keyboard>/a",
    137.                     "interactions": "",
    138.                     "processors": "",
    139.                     "groups": "Mouse+Keyboard",
    140.                     "action": "MoveHorizontal",
    141.                     "isComposite": false,
    142.                     "isPartOfComposite": true
    143.                 },
    144.                 {
    145.                     "name": "positive",
    146.                     "id": "fa3f2f2e-c3fd-48eb-9504-5d64ef9c9798",
    147.                     "path": "<Keyboard>/d",
    148.                     "interactions": "",
    149.                     "processors": "",
    150.                     "groups": "Mouse+Keyboard",
    151.                     "action": "MoveHorizontal",
    152.                     "isComposite": false,
    153.                     "isPartOfComposite": true
    154.                 },
    155.                 {
    156.                     "name": "Arrows",
    157.                     "id": "f2811ef4-f760-4c20-a4af-3dc6193d0407",
    158.                     "path": "1DAxis",
    159.                     "interactions": "",
    160.                     "processors": "",
    161.                     "groups": "",
    162.                     "action": "MoveHorizontal",
    163.                     "isComposite": true,
    164.                     "isPartOfComposite": false
    165.                 },
    166.                 {
    167.                     "name": "negative",
    168.                     "id": "73ee833f-d9fe-49d1-ad2a-1e66c3e8a930",
    169.                     "path": "<Keyboard>/leftArrow",
    170.                     "interactions": "",
    171.                     "processors": "",
    172.                     "groups": "Mouse+Keyboard",
    173.                     "action": "MoveHorizontal",
    174.                     "isComposite": false,
    175.                     "isPartOfComposite": true
    176.                 },
    177.                 {
    178.                     "name": "positive",
    179.                     "id": "c191e20e-6606-4679-b297-4621afddc030",
    180.                     "path": "<Keyboard>/rightArrow",
    181.                     "interactions": "",
    182.                     "processors": "",
    183.                     "groups": "Mouse+Keyboard",
    184.                     "action": "MoveHorizontal",
    185.                     "isComposite": false,
    186.                     "isPartOfComposite": true
    187.                 },
    188.                 {
    189.                     "name": "LeftStick",
    190.                     "id": "513b82d7-912a-433a-9ffd-d38d3f7eee18",
    191.                     "path": "1DAxis",
    192.                     "interactions": "",
    193.                     "processors": "",
    194.                     "groups": "",
    195.                     "action": "MoveHorizontal",
    196.                     "isComposite": true,
    197.                     "isPartOfComposite": false
    198.                 },
    199.                 {
    200.                     "name": "negative",
    201.                     "id": "25ab9cf0-4cd3-4105-8bd1-77ab57139c4d",
    202.                     "path": "<Gamepad>/leftStick/left",
    203.                     "interactions": "",
    204.                     "processors": "",
    205.                     "groups": "Gamepad",
    206.                     "action": "MoveHorizontal",
    207.                     "isComposite": false,
    208.                     "isPartOfComposite": true
    209.                 },
    210.                 {
    211.                     "name": "positive",
    212.                     "id": "6fdaa4d5-9ca9-4e84-8b10-8661e76f93c7",
    213.                     "path": "<Gamepad>/leftStick/right",
    214.                     "interactions": "",
    215.                     "processors": "",
    216.                     "groups": "Gamepad",
    217.                     "action": "MoveHorizontal",
    218.                     "isComposite": false,
    219.                     "isPartOfComposite": true
    220.                 },
    221.                 {
    222.                     "name": "DPad",
    223.                     "id": "cbe78f69-4197-4cb4-9bea-b855da565d8c",
    224.                     "path": "1DAxis",
    225.                     "interactions": "",
    226.                     "processors": "",
    227.                     "groups": "",
    228.                     "action": "MoveHorizontal",
    229.                     "isComposite": true,
    230.                     "isPartOfComposite": false
    231.                 },
    232.                 {
    233.                     "name": "negative",
    234.                     "id": "190cdbb8-b8e0-41e2-a1f4-8ce3f1cfb6e5",
    235.                     "path": "<Gamepad>/dpad/left",
    236.                     "interactions": "",
    237.                     "processors": "",
    238.                     "groups": "Gamepad",
    239.                     "action": "MoveHorizontal",
    240.                     "isComposite": false,
    241.                     "isPartOfComposite": true
    242.                 },
    243.                 {
    244.                     "name": "positive",
    245.                     "id": "faeb5194-961c-4745-bd32-2f8952fa9817",
    246.                     "path": "<Gamepad>/dpad/right",
    247.                     "interactions": "",
    248.                     "processors": "",
    249.                     "groups": "Gamepad",
    250.                     "action": "MoveHorizontal",
    251.                     "isComposite": false,
    252.                     "isPartOfComposite": true
    253.                 },
    254.                 {
    255.                     "name": "WASD",
    256.                     "id": "3d545026-0309-4552-b673-a5c3e6bc74aa",
    257.                     "path": "1DAxis",
    258.                     "interactions": "",
    259.                     "processors": "",
    260.                     "groups": "",
    261.                     "action": "MoveVertical",
    262.                     "isComposite": true,
    263.                     "isPartOfComposite": false
    264.                 },
    265.                 {
    266.                     "name": "negative",
    267.                     "id": "2ee7ed6b-bb93-474e-938d-5c243794fb76",
    268.                     "path": "<Keyboard>/s",
    269.                     "interactions": "",
    270.                     "processors": "",
    271.                     "groups": "Mouse+Keyboard",
    272.                     "action": "MoveVertical",
    273.                     "isComposite": false,
    274.                     "isPartOfComposite": true
    275.                 },
    276.                 {
    277.                     "name": "positive",
    278.                     "id": "a056982d-507d-4d35-ae9a-390771337d34",
    279.                     "path": "<Keyboard>/w",
    280.                     "interactions": "",
    281.                     "processors": "",
    282.                     "groups": "Mouse+Keyboard",
    283.                     "action": "MoveVertical",
    284.                     "isComposite": false,
    285.                     "isPartOfComposite": true
    286.                 },
    287.                 {
    288.                     "name": "Arrows",
    289.                     "id": "118d9936-47ba-431d-9b8f-ea766cb25356",
    290.                     "path": "1DAxis",
    291.                     "interactions": "",
    292.                     "processors": "",
    293.                     "groups": "",
    294.                     "action": "MoveVertical",
    295.                     "isComposite": true,
    296.                     "isPartOfComposite": false
    297.                 },
    298.                 {
    299.                     "name": "negative",
    300.                     "id": "ae5ffde1-d1d6-426b-8853-fc020f0b0d45",
    301.                     "path": "<Keyboard>/downArrow",
    302.                     "interactions": "",
    303.                     "processors": "",
    304.                     "groups": "Mouse+Keyboard",
    305.                     "action": "MoveVertical",
    306.                     "isComposite": false,
    307.                     "isPartOfComposite": true
    308.                 },
    309.                 {
    310.                     "name": "positive",
    311.                     "id": "2a5fea40-f0e5-43a5-bacb-52ad62977ce0",
    312.                     "path": "<Keyboard>/upArrow",
    313.                     "interactions": "",
    314.                     "processors": "",
    315.                     "groups": "Mouse+Keyboard",
    316.                     "action": "MoveVertical",
    317.                     "isComposite": false,
    318.                     "isPartOfComposite": true
    319.                 },
    320.                 {
    321.                     "name": "LeftStick",
    322.                     "id": "d59ee060-277a-4637-b079-6dc04dd50fa3",
    323.                     "path": "1DAxis",
    324.                     "interactions": "",
    325.                     "processors": "",
    326.                     "groups": "",
    327.                     "action": "MoveVertical",
    328.                     "isComposite": true,
    329.                     "isPartOfComposite": false
    330.                 },
    331.                 {
    332.                     "name": "negative",
    333.                     "id": "2d98b792-5d2f-4b04-ace4-f470fb964487",
    334.                     "path": "<Gamepad>/leftStick/down",
    335.                     "interactions": "",
    336.                     "processors": "",
    337.                     "groups": "Gamepad",
    338.                     "action": "MoveVertical",
    339.                     "isComposite": false,
    340.                     "isPartOfComposite": true
    341.                 },
    342.                 {
    343.                     "name": "positive",
    344.                     "id": "ba82e214-c25e-447a-b8c7-7055e4db3bbc",
    345.                     "path": "<Gamepad>/leftStick/up",
    346.                     "interactions": "",
    347.                     "processors": "",
    348.                     "groups": "Gamepad",
    349.                     "action": "MoveVertical",
    350.                     "isComposite": false,
    351.                     "isPartOfComposite": true
    352.                 },
    353.                 {
    354.                     "name": "DPad",
    355.                     "id": "32c606f0-91ad-4cfe-a758-6ba36e6c78a8",
    356.                     "path": "1DAxis",
    357.                     "interactions": "",
    358.                     "processors": "",
    359.                     "groups": "",
    360.                     "action": "MoveVertical",
    361.                     "isComposite": true,
    362.                     "isPartOfComposite": false
    363.                 },
    364.                 {
    365.                     "name": "negative",
    366.                     "id": "27d4cc7f-dd25-4dd8-9b67-8fb917e389ea",
    367.                     "path": "<Gamepad>/dpad/down",
    368.                     "interactions": "",
    369.                     "processors": "",
    370.                     "groups": "Gamepad",
    371.                     "action": "MoveVertical",
    372.                     "isComposite": false,
    373.                     "isPartOfComposite": true
    374.                 },
    375.                 {
    376.                     "name": "positive",
    377.                     "id": "32c964f8-d5d7-4998-9357-7aaf3bf56b6b",
    378.                     "path": "<Gamepad>/dpad/up",
    379.                     "interactions": "",
    380.                     "processors": "",
    381.                     "groups": "Gamepad",
    382.                     "action": "MoveVertical",
    383.                     "isComposite": false,
    384.                     "isPartOfComposite": true
    385.                 },
    386.                 {
    387.                     "name": "",
    388.                     "id": "3813fdd3-c583-43e5-bdf2-cbf549b42bc5",
    389.                     "path": "<Keyboard>/q",
    390.                     "interactions": "",
    391.                     "processors": "",
    392.                     "groups": "Mouse+Keyboard",
    393.                     "action": "UseBinoculars",
    394.                     "isComposite": false,
    395.                     "isPartOfComposite": false
    396.                 },
    397.                 {
    398.                     "name": "",
    399.                     "id": "6acedccf-f6da-4103-8146-43366dabc6aa",
    400.                     "path": "<Gamepad>/buttonNorth",
    401.                     "interactions": "",
    402.                     "processors": "",
    403.                     "groups": "Gamepad",
    404.                     "action": "UseBinoculars",
    405.                     "isComposite": false,
    406.                     "isPartOfComposite": false
    407.                 },
    408.                 {
    409.                     "name": "",
    410.                     "id": "35839be0-3958-4fe3-a0b3-cf97254fd463",
    411.                     "path": "<Keyboard>/r",
    412.                     "interactions": "",
    413.                     "processors": "",
    414.                     "groups": "Mouse+Keyboard",
    415.                     "action": "Restart",
    416.                     "isComposite": false,
    417.                     "isPartOfComposite": false
    418.                 },
    419.                 {
    420.                     "name": "",
    421.                     "id": "61ca0875-79f3-4bc6-b8c8-ee045369f15b",
    422.                     "path": "<Gamepad>/select",
    423.                     "interactions": "",
    424.                     "processors": "",
    425.                     "groups": "Gamepad",
    426.                     "action": "Restart",
    427.                     "isComposite": false,
    428.                     "isPartOfComposite": false
    429.                 },
    430.                 {
    431.                     "name": "",
    432.                     "id": "cd025a90-9296-4c5a-a5bb-800ec0952d21",
    433.                     "path": "<Keyboard>/escape",
    434.                     "interactions": "",
    435.                     "processors": "",
    436.                     "groups": "Mouse+Keyboard",
    437.                     "action": "Pause",
    438.                     "isComposite": false,
    439.                     "isPartOfComposite": false
    440.                 },
    441.                 {
    442.                     "name": "",
    443.                     "id": "702f9a59-0818-4bc4-b2b4-4ee90d60e7f3",
    444.                     "path": "<Gamepad>/start",
    445.                     "interactions": "",
    446.                     "processors": "",
    447.                     "groups": "Gamepad",
    448.                     "action": "Pause",
    449.                     "isComposite": false,
    450.                     "isPartOfComposite": false
    451.                 },
    452.                 {
    453.                     "name": "",
    454.                     "id": "81e2d82c-7a0b-4a17-83b5-7c804b9a86ca",
    455.                     "path": "<Keyboard>/p",
    456.                     "interactions": "",
    457.                     "processors": "",
    458.                     "groups": "",
    459.                     "action": "Pause",
    460.                     "isComposite": false,
    461.                     "isPartOfComposite": false
    462.                 },
    463.                 {
    464.                     "name": "",
    465.                     "id": "4dd0f4d1-7d6a-4812-b06d-06d097c90ba1",
    466.                     "path": "<Keyboard>/e",
    467.                     "interactions": "",
    468.                     "processors": "",
    469.                     "groups": "Mouse+Keyboard",
    470.                     "action": "InteractRight",
    471.                     "isComposite": false,
    472.                     "isPartOfComposite": false
    473.                 },
    474.                 {
    475.                     "name": "",
    476.                     "id": "3118ccbe-f271-4224-8bd5-129930c95f8a",
    477.                     "path": "<Gamepad>/buttonEast",
    478.                     "interactions": "",
    479.                     "processors": "",
    480.                     "groups": "Gamepad",
    481.                     "action": "InteractRight",
    482.                     "isComposite": false,
    483.                     "isPartOfComposite": false
    484.                 },
    485.                 {
    486.                     "name": "",
    487.                     "id": "ef935d20-7397-4930-b0de-03002feb0bd0",
    488.                     "path": "<Keyboard>/q",
    489.                     "interactions": "",
    490.                     "processors": "",
    491.                     "groups": "Mouse+Keyboard",
    492.                     "action": "InteractLeft",
    493.                     "isComposite": false,
    494.                     "isPartOfComposite": false
    495.                 },
    496.                 {
    497.                     "name": "",
    498.                     "id": "3c783ffe-0573-4993-a1cf-0bce1b5abddd",
    499.                     "path": "<Gamepad>/buttonWest",
    500.                     "interactions": "",
    501.                     "processors": "",
    502.                     "groups": "Gamepad",
    503.                     "action": "InteractLeft",
    504.                     "isComposite": false,
    505.                     "isPartOfComposite": false
    506.                 },
    507.                 {
    508.                     "name": "",
    509.                     "id": "d7d8f070-4b81-4ad6-ac05-08f8d188ba20",
    510.                     "path": "<Gamepad>/leftTrigger",
    511.                     "interactions": "",
    512.                     "processors": "",
    513.                     "groups": "Gamepad",
    514.                     "action": "LeftTrigger",
    515.                     "isComposite": false,
    516.                     "isPartOfComposite": false
    517.                 },
    518.                 {
    519.                     "name": "",
    520.                     "id": "2e3aa135-4dfa-429a-b4c4-9b21f70df5a2",
    521.                     "path": "<Gamepad>/rightTrigger",
    522.                     "interactions": "",
    523.                     "processors": "",
    524.                     "groups": "Gamepad",
    525.                     "action": "RightTrigger",
    526.                     "isComposite": false,
    527.                     "isPartOfComposite": false
    528.                 }
    529.             ]
    530.         },
    531.         {
    532.             "name": "UI",
    533.             "id": "cb154686-6b05-4ed9-9c99-c393a0720bab",
    534.             "actions": [
    535.                 {
    536.                     "name": "Navigate",
    537.                     "type": "PassThrough",
    538.                     "id": "7b10d940-3dee-4e33-b713-063ff5a314e4",
    539.                     "expectedControlType": "Vector2",
    540.                     "processors": "",
    541.                     "interactions": "",
    542.                     "initialStateCheck": false
    543.                 },
    544.                 {
    545.                     "name": "Submit",
    546.                     "type": "Button",
    547.                     "id": "83d981e9-9307-4032-bf82-3ff78553f14a",
    548.                     "expectedControlType": "Button",
    549.                     "processors": "",
    550.                     "interactions": "",
    551.                     "initialStateCheck": false
    552.                 },
    553.                 {
    554.                     "name": "Cancel",
    555.                     "type": "Button",
    556.                     "id": "4b0ce17a-2ffb-4bd4-8a4c-41ec83a1d8e2",
    557.                     "expectedControlType": "Button",
    558.                     "processors": "",
    559.                     "interactions": "",
    560.                     "initialStateCheck": false
    561.                 },
    562.                 {
    563.                     "name": "Point",
    564.                     "type": "PassThrough",
    565.                     "id": "4f517401-7226-4902-98ba-89d11a19e2d0",
    566.                     "expectedControlType": "Vector2",
    567.                     "processors": "",
    568.                     "interactions": "",
    569.                     "initialStateCheck": true
    570.                 },
    571.                 {
    572.                     "name": "Click",
    573.                     "type": "PassThrough",
    574.                     "id": "b83a7c0c-dbc3-4ba8-b563-2da48f6badd4",
    575.                     "expectedControlType": "Button",
    576.                     "processors": "",
    577.                     "interactions": "",
    578.                     "initialStateCheck": true
    579.                 },
    580.                 {
    581.                     "name": "ScrollWheel",
    582.                     "type": "PassThrough",
    583.                     "id": "6531b4a5-bd64-492f-9524-09eabe998b83",
    584.                     "expectedControlType": "Vector2",
    585.                     "processors": "",
    586.                     "interactions": "",
    587.                     "initialStateCheck": false
    588.                 },
    589.                 {
    590.                     "name": "MiddleClick",
    591.                     "type": "PassThrough",
    592.                     "id": "99222147-c9d6-44d5-8ebe-80835534306b",
    593.                     "expectedControlType": "Button",
    594.                     "processors": "",
    595.                     "interactions": "",
    596.                     "initialStateCheck": false
    597.                 },
    598.                 {
    599.                     "name": "RightClick",
    600.                     "type": "PassThrough",
    601.                     "id": "45203928-7a92-497a-95e1-0c05a29a2a77",
    602.                     "expectedControlType": "Button",
    603.                     "processors": "",
    604.                     "interactions": "",
    605.                     "initialStateCheck": false
    606.                 },
    607.                 {
    608.                     "name": "TrackedDevicePosition",
    609.                     "type": "PassThrough",
    610.                     "id": "2bfe06f4-2216-45ed-9dc2-c3a96c06f6a8",
    611.                     "expectedControlType": "Vector3",
    612.                     "processors": "",
    613.                     "interactions": "",
    614.                     "initialStateCheck": false
    615.                 },
    616.                 {
    617.                     "name": "TrackedDeviceOrientation",
    618.                     "type": "PassThrough",
    619.                     "id": "ab69f58f-f68e-45f1-bcfd-b0ff56ee1471",
    620.                     "expectedControlType": "Quaternion",
    621.                     "processors": "",
    622.                     "interactions": "",
    623.                     "initialStateCheck": false
    624.                 },
    625.                 {
    626.                     "name": "PageLeft",
    627.                     "type": "Button",
    628.                     "id": "bf39461b-c46b-4d46-be0b-73556a4dd901",
    629.                     "expectedControlType": "Button",
    630.                     "processors": "",
    631.                     "interactions": "",
    632.                     "initialStateCheck": false
    633.                 },
    634.                 {
    635.                     "name": "PageRight",
    636.                     "type": "Button",
    637.                     "id": "a5ab1677-9944-4de7-868d-4ab69bce2b84",
    638.                     "expectedControlType": "Button",
    639.                     "processors": "",
    640.                     "interactions": "",
    641.                     "initialStateCheck": false
    642.                 },
    643.                 {
    644.                     "name": "AnyTrigger",
    645.                     "type": "Button",
    646.                     "id": "b958b730-6a37-492e-9039-6abc6b6b16b6",
    647.                     "expectedControlType": "Button",
    648.                     "processors": "",
    649.                     "interactions": "",
    650.                     "initialStateCheck": false
    651.                 },
    652.                 {
    653.                     "name": "Pin",
    654.                     "type": "Button",
    655.                     "id": "1e606556-1898-4bb8-97b8-c08b958c4f07",
    656.                     "expectedControlType": "Button",
    657.                     "processors": "",
    658.                     "interactions": "",
    659.                     "initialStateCheck": false
    660.                 }
    661.             ],
    662.             "bindings": [
    663.                 {
    664.                     "name": "Gamepad",
    665.                     "id": "36d0c45a-e8e9-40dd-9fae-bdf994e1684a",
    666.                     "path": "2DVector",
    667.                     "interactions": "",
    668.                     "processors": "",
    669.                     "groups": "",
    670.                     "action": "Navigate",
    671.                     "isComposite": true,
    672.                     "isPartOfComposite": false
    673.                 },
    674.                 {
    675.                     "name": "up",
    676.                     "id": "6c69cecf-effe-4730-b1ca-b6ee37c2dd9f",
    677.                     "path": "<Gamepad>/leftStick/up",
    678.                     "interactions": "",
    679.                     "processors": "",
    680.                     "groups": ";Gamepad",
    681.                     "action": "Navigate",
    682.                     "isComposite": false,
    683.                     "isPartOfComposite": true
    684.                 },
    685.                 {
    686.                     "name": "up",
    687.                     "id": "633f4c46-ee5e-453a-b47d-97fcaefda6a4",
    688.                     "path": "<Gamepad>/rightStick/up",
    689.                     "interactions": "",
    690.                     "processors": "",
    691.                     "groups": ";Gamepad",
    692.                     "action": "Navigate",
    693.                     "isComposite": false,
    694.                     "isPartOfComposite": true
    695.                 },
    696.                 {
    697.                     "name": "down",
    698.                     "id": "4b8103a2-598f-4262-a588-b2b5f62ffba7",
    699.                     "path": "<Gamepad>/leftStick/down",
    700.                     "interactions": "",
    701.                     "processors": "",
    702.                     "groups": ";Gamepad",
    703.                     "action": "Navigate",
    704.                     "isComposite": false,
    705.                     "isPartOfComposite": true
    706.                 },
    707.                 {
    708.                     "name": "down",
    709.                     "id": "6ae5380e-f51b-4a62-8565-1c9cb08b69bb",
    710.                     "path": "<Gamepad>/rightStick/down",
    711.                     "interactions": "",
    712.                     "processors": "",
    713.                     "groups": ";Gamepad",
    714.                     "action": "Navigate",
    715.                     "isComposite": false,
    716.                     "isPartOfComposite": true
    717.                 },
    718.                 {
    719.                     "name": "left",
    720.                     "id": "494c8016-e7b0-479b-990e-783af2786c45",
    721.                     "path": "<Gamepad>/leftStick/left",
    722.                     "interactions": "",
    723.                     "processors": "",
    724.                     "groups": ";Gamepad",
    725.                     "action": "Navigate",
    726.                     "isComposite": false,
    727.                     "isPartOfComposite": true
    728.                 },
    729.                 {
    730.                     "name": "left",
    731.                     "id": "e7ca4a2c-f1be-418e-a539-1e9a7f40890d",
    732.                     "path": "<Gamepad>/rightStick/left",
    733.                     "interactions": "",
    734.                     "processors": "",
    735.                     "groups": ";Gamepad",
    736.                     "action": "Navigate",
    737.                     "isComposite": false,
    738.                     "isPartOfComposite": true
    739.                 },
    740.                 {
    741.                     "name": "right",
    742.                     "id": "81296932-898f-47a0-9c6c-ef4f393d0786",
    743.                     "path": "<Gamepad>/leftStick/right",
    744.                     "interactions": "",
    745.                     "processors": "",
    746.                     "groups": ";Gamepad",
    747.                     "action": "Navigate",
    748.                     "isComposite": false,
    749.                     "isPartOfComposite": true
    750.                 },
    751.                 {
    752.                     "name": "right",
    753.                     "id": "9159b63c-70c9-49d3-8ac0-94456b2e46df",
    754.                     "path": "<Gamepad>/rightStick/right",
    755.                     "interactions": "",
    756.                     "processors": "",
    757.                     "groups": ";Gamepad",
    758.                     "action": "Navigate",
    759.                     "isComposite": false,
    760.                     "isPartOfComposite": true
    761.                 },
    762.                 {
    763.                     "name": "",
    764.                     "id": "c39e22ff-c926-4ceb-ae1e-78302ff67ba9",
    765.                     "path": "<Gamepad>/dpad",
    766.                     "interactions": "",
    767.                     "processors": "",
    768.                     "groups": ";Gamepad",
    769.                     "action": "Navigate",
    770.                     "isComposite": false,
    771.                     "isPartOfComposite": false
    772.                 },
    773.                 {
    774.                     "name": "Joystick",
    775.                     "id": "e9f25e7c-819f-42e8-82ae-e5a267feb78a",
    776.                     "path": "2DVector",
    777.                     "interactions": "",
    778.                     "processors": "",
    779.                     "groups": "",
    780.                     "action": "Navigate",
    781.                     "isComposite": true,
    782.                     "isPartOfComposite": false
    783.                 },
    784.                 {
    785.                     "name": "up",
    786.                     "id": "f895b898-8b34-46f7-bca1-f502e01fc943",
    787.                     "path": "<Joystick>/stick/up",
    788.                     "interactions": "",
    789.                     "processors": "",
    790.                     "groups": "Joystick;Gamepad",
    791.                     "action": "Navigate",
    792.                     "isComposite": false,
    793.                     "isPartOfComposite": true
    794.                 },
    795.                 {
    796.                     "name": "down",
    797.                     "id": "87cbdd64-0b0a-4683-8a8b-87020b0fd7e7",
    798.                     "path": "<Joystick>/stick/down",
    799.                     "interactions": "",
    800.                     "processors": "",
    801.                     "groups": "Joystick;Gamepad",
    802.                     "action": "Navigate",
    803.                     "isComposite": false,
    804.                     "isPartOfComposite": true
    805.                 },
    806.                 {
    807.                     "name": "left",
    808.                     "id": "1959ccf7-01b1-4747-b1bc-9771f65a74df",
    809.                     "path": "<Joystick>/stick/left",
    810.                     "interactions": "",
    811.                     "processors": "",
    812.                     "groups": "Joystick;Gamepad",
    813.                     "action": "Navigate",
    814.                     "isComposite": false,
    815.                     "isPartOfComposite": true
    816.                 },
    817.                 {
    818.                     "name": "right",
    819.                     "id": "3d895a72-7066-480f-880f-39e83c68bae9",
    820.                     "path": "<Joystick>/stick/right",
    821.                     "interactions": "",
    822.                     "processors": "",
    823.                     "groups": "Joystick;Gamepad",
    824.                     "action": "Navigate",
    825.                     "isComposite": false,
    826.                     "isPartOfComposite": true
    827.                 },
    828.                 {
    829.                     "name": "Keyboard",
    830.                     "id": "3c2190c3-1f18-4f37-9f05-ddc73bae3a50",
    831.                     "path": "2DVector",
    832.                     "interactions": "",
    833.                     "processors": "",
    834.                     "groups": "",
    835.                     "action": "Navigate",
    836.                     "isComposite": true,
    837.                     "isPartOfComposite": false
    838.                 },
    839.                 {
    840.                     "name": "up",
    841.                     "id": "5b40b1e1-ab0a-4284-b5dd-0cbc3ff0f65e",
    842.                     "path": "<Keyboard>/w",
    843.                     "interactions": "",
    844.                     "processors": "",
    845.                     "groups": "Keyboard&Mouse;Mouse+Keyboard",
    846.                     "action": "Navigate",
    847.                     "isComposite": false,
    848.                     "isPartOfComposite": true
    849.                 },
    850.                 {
    851.                     "name": "up",
    852.                     "id": "eebdbde3-4c7a-4da3-ad66-81f5c07c2482",
    853.                     "path": "<Keyboard>/upArrow",
    854.                     "interactions": "",
    855.                     "processors": "",
    856.                     "groups": "Keyboard&Mouse;Mouse+Keyboard",
    857.                     "action": "Navigate",
    858.                     "isComposite": false,
    859.                     "isPartOfComposite": true
    860.                 },
    861.                 {
    862.                     "name": "down",
    863.                     "id": "bcf43d08-e967-428a-8127-da6536ad805a",
    864.                     "path": "<Keyboard>/s",
    865.                     "interactions": "",
    866.                     "processors": "",
    867.                     "groups": "Keyboard&Mouse;Mouse+Keyboard",
    868.                     "action": "Navigate",
    869.                     "isComposite": false,
    870.                     "isPartOfComposite": true
    871.                 },
    872.                 {
    873.                     "name": "down",
    874.                     "id": "f77099b7-f482-4a84-a7f6-68a855d81dec",
    875.                     "path": "<Keyboard>/downArrow",
    876.                     "interactions": "",
    877.                     "processors": "",
    878.                     "groups": "Keyboard&Mouse;Mouse+Keyboard",
    879.                     "action": "Navigate",
    880.                     "isComposite": false,
    881.                     "isPartOfComposite": true
    882.                 },
    883.                 {
    884.                     "name": "left",
    885.                     "id": "b23e7544-cbd0-4ea2-a6d2-1dd1c5ab348b",
    886.                     "path": "<Keyboard>/a",
    887.                     "interactions": "",
    888.                     "processors": "",
    889.                     "groups": "Keyboard&Mouse;Mouse+Keyboard",
    890.                     "action": "Navigate",
    891.                     "isComposite": false,
    892.                     "isPartOfComposite": true
    893.                 },
    894.                 {
    895.                     "name": "left",
    896.                     "id": "fd40a07f-286b-4ae4-a4ec-37c4de73e10a",
    897.                     "path": "<Keyboard>/leftArrow",
    898.                     "interactions": "",
    899.                     "processors": "",
    900.                     "groups": "Keyboard&Mouse;Mouse+Keyboard",
    901.                     "action": "Navigate",
    902.                     "isComposite": false,
    903.                     "isPartOfComposite": true
    904.                 },
    905.                 {
    906.                     "name": "right",
    907.                     "id": "4c2e8c6a-24c5-418a-9d58-8d86b2dbeff1",
    908.                     "path": "<Keyboard>/d",
    909.                     "interactions": "",
    910.                     "processors": "",
    911.                     "groups": "Keyboard&Mouse;Mouse+Keyboard",
    912.                     "action": "Navigate",
    913.                     "isComposite": false,
    914.                     "isPartOfComposite": true
    915.                 },
    916.                 {
    917.                     "name": "right",
    918.                     "id": "1dda62d0-94bb-43fe-ab70-7406c059e3a3",
    919.                     "path": "<Keyboard>/rightArrow",
    920.                     "interactions": "",
    921.                     "processors": "",
    922.                     "groups": "Keyboard&Mouse;Mouse+Keyboard",
    923.                     "action": "Navigate",
    924.                     "isComposite": false,
    925.                     "isPartOfComposite": true
    926.                 },
    927.                 {
    928.                     "name": "",
    929.                     "id": "cfca5d62-7793-4476-9d40-6d6c2f654674",
    930.                     "path": "<Gamepad>/buttonSouth",
    931.                     "interactions": "",
    932.                     "processors": "",
    933.                     "groups": "Keyboard&Mouse;Gamepad;Touch;Joystick;XR",
    934.                     "action": "Submit",
    935.                     "isComposite": false,
    936.                     "isPartOfComposite": false
    937.                 },
    938.                 {
    939.                     "name": "",
    940.                     "id": "6521e514-b037-4e3f-a50a-15cdd00d08e6",
    941.                     "path": "<Keyboard>/space",
    942.                     "interactions": "",
    943.                     "processors": "",
    944.                     "groups": "Mouse+Keyboard",
    945.                     "action": "Submit",
    946.                     "isComposite": false,
    947.                     "isPartOfComposite": false
    948.                 },
    949.                 {
    950.                     "name": "",
    951.                     "id": "fb945f6c-2bc6-4b0f-a2ae-a10af185e653",
    952.                     "path": "<Keyboard>/enter",
    953.                     "interactions": "",
    954.                     "processors": "",
    955.                     "groups": "Mouse+Keyboard",
    956.                     "action": "Submit",
    957.                     "isComposite": false,
    958.                     "isPartOfComposite": false
    959.                 },
    960.                 {
    961.                     "name": "",
    962.                     "id": "3ccb683d-b2e7-43cb-89da-420f1f4f086f",
    963.                     "path": "<Gamepad>/buttonWest",
    964.                     "interactions": "",
    965.                     "processors": "",
    966.                     "groups": "Keyboard&Mouse;Gamepad;Touch;Joystick;XR",
    967.                     "action": "Cancel",
    968.                     "isComposite": false,
    969.                     "isPartOfComposite": false
    970.                 },
    971.                 {
    972.                     "name": "",
    973.                     "id": "e3fe016f-2d16-4f1e-a2bb-dd0554f2f74b",
    974.                     "path": "<Keyboard>/escape",
    975.                     "interactions": "",
    976.                     "processors": "",
    977.                     "groups": "Mouse+Keyboard",
    978.                     "action": "Cancel",
    979.                     "isComposite": false,
    980.                     "isPartOfComposite": false
    981.                 },
    982.                 {
    983.                     "name": "",
    984.                     "id": "0adf50a1-b22b-4d39-835d-fca00884bfb7",
    985.                     "path": "<Mouse>/position",
    986.                     "interactions": "",
    987.                     "processors": "",
    988.                     "groups": "Keyboard&Mouse;Mouse+Keyboard",
    989.                     "action": "Point",
    990.                     "isComposite": false,
    991.                     "isPartOfComposite": false
    992.                 },
    993.                 {
    994.                     "name": "",
    995.                     "id": "15660643-3b6a-451f-813f-b24e067201d4",
    996.                     "path": "<Pen>/position",
    997.                     "interactions": "",
    998.                     "processors": "",
    999.                     "groups": "Keyboard&Mouse",
    1000.                     "action": "Point",
    1001.                     "isComposite": false,
    1002.                     "isPartOfComposite": false
    1003.                 },
    1004.                 {
    1005.                     "name": "",
    1006.                     "id": "0613db45-27be-4d5c-b532-2eaa6782d68f",
    1007.                     "path": "<Touchscreen>/touch*/position",
    1008.                     "interactions": "",
    1009.                     "processors": "",
    1010.                     "groups": "Touch",
    1011.                     "action": "Point",
    1012.                     "isComposite": false,
    1013.                     "isPartOfComposite": false
    1014.                 },
    1015.                 {
    1016.                     "name": "",
    1017.                     "id": "9786771b-836b-4243-a4c0-b4cf967209ca",
    1018.                     "path": "<Mouse>/leftButton",
    1019.                     "interactions": "",
    1020.                     "processors": "",
    1021.                     "groups": "Keyboard&Mouse;Mouse+Keyboard",
    1022.                     "action": "Click",
    1023.                     "isComposite": false,
    1024.                     "isPartOfComposite": false
    1025.                 },
    1026.                 {
    1027.                     "name": "",
    1028.                     "id": "0603657b-e063-40e5-9b54-1a1599c5c973",
    1029.                     "path": "<Pen>/tip",
    1030.                     "interactions": "",
    1031.                     "processors": "",
    1032.                     "groups": ";Keyboard&Mouse",
    1033.                     "action": "Click",
    1034.                     "isComposite": false,
    1035.                     "isPartOfComposite": false
    1036.                 },
    1037.                 {
    1038.                     "name": "",
    1039.                     "id": "4955e09b-6fab-419a-84e7-f65eab990af9",
    1040.                     "path": "<Touchscreen>/touch*/press",
    1041.                     "interactions": "",
    1042.                     "processors": "",
    1043.                     "groups": "Touch",
    1044.                     "action": "Click",
    1045.                     "isComposite": false,
    1046.                     "isPartOfComposite": false
    1047.                 },
    1048.                 {
    1049.                     "name": "",
    1050.                     "id": "72b4f3d7-1f08-42c9-9fbd-8855cf522bc1",
    1051.                     "path": "<XRController>/trigger",
    1052.                     "interactions": "",
    1053.                     "processors": "",
    1054.                     "groups": "XR",
    1055.                     "action": "Click",
    1056.                     "isComposite": false,
    1057.                     "isPartOfComposite": false
    1058.                 },
    1059.                 {
    1060.                     "name": "",
    1061.                     "id": "c68d31fc-0b94-40f8-a420-e9945360b0aa",
    1062.                     "path": "<Mouse>/scroll",
    1063.                     "interactions": "",
    1064.                     "processors": "",
    1065.                     "groups": "Keyboard&Mouse;Mouse+Keyboard",
    1066.                     "action": "ScrollWheel",
    1067.                     "isComposite": false,
    1068.                     "isPartOfComposite": false
    1069.                 },
    1070.                 {
    1071.                     "name": "",
    1072.                     "id": "32b82ffc-34c4-4caf-a2f9-ef2013a2d714",
    1073.                     "path": "<Mouse>/middleButton",
    1074.                     "interactions": "",
    1075.                     "processors": "",
    1076.                     "groups": "Keyboard&Mouse;Mouse+Keyboard",
    1077.                     "action": "MiddleClick",
    1078.                     "isComposite": false,
    1079.                     "isPartOfComposite": false
    1080.                 },
    1081.                 {
    1082.                     "name": "",
    1083.                     "id": "7d0096c9-0552-4d1f-b735-7ffc22185c44",
    1084.                     "path": "<Mouse>/rightButton",
    1085.                     "interactions": "",
    1086.                     "processors": "",
    1087.                     "groups": "Keyboard&Mouse;Mouse+Keyboard",
    1088.                     "action": "RightClick",
    1089.                     "isComposite": false,
    1090.                     "isPartOfComposite": false
    1091.                 },
    1092.                 {
    1093.                     "name": "",
    1094.                     "id": "64851c54-8871-483f-9078-fd4013b19244",
    1095.                     "path": "<XRController>/devicePosition",
    1096.                     "interactions": "",
    1097.                     "processors": "",
    1098.                     "groups": "XR",
    1099.                     "action": "TrackedDevicePosition",
    1100.                     "isComposite": false,
    1101.                     "isPartOfComposite": false
    1102.                 },
    1103.                 {
    1104.                     "name": "",
    1105.                     "id": "7828ae1a-3997-4e3f-babf-ddc622204b84",
    1106.                     "path": "<XRController>/deviceRotation",
    1107.                     "interactions": "",
    1108.                     "processors": "",
    1109.                     "groups": "XR",
    1110.                     "action": "TrackedDeviceOrientation",
    1111.                     "isComposite": false,
    1112.                     "isPartOfComposite": false
    1113.                 },
    1114.                 {
    1115.                     "name": "",
    1116.                     "id": "28f147c6-6f00-42b2-97f7-6b0e0835b784",
    1117.                     "path": "<Gamepad>/leftShoulder",
    1118.                     "interactions": "",
    1119.                     "processors": "",
    1120.                     "groups": "Gamepad",
    1121.                     "action": "PageLeft",
    1122.                     "isComposite": false,
    1123.                     "isPartOfComposite": false
    1124.                 },
    1125.                 {
    1126.                     "name": "",
    1127.                     "id": "992330e6-0161-4785-a1ad-b340c0355bbe",
    1128.                     "path": "<Keyboard>/z",
    1129.                     "interactions": "",
    1130.                     "processors": "",
    1131.                     "groups": "Mouse+Keyboard",
    1132.                     "action": "PageLeft",
    1133.                     "isComposite": false,
    1134.                     "isPartOfComposite": false
    1135.                 },
    1136.                 {
    1137.                     "name": "",
    1138.                     "id": "ac2439fd-e3fa-4347-96d7-ac351921360d",
    1139.                     "path": "<Gamepad>/rightShoulder",
    1140.                     "interactions": "",
    1141.                     "processors": "",
    1142.                     "groups": "Gamepad",
    1143.                     "action": "PageRight",
    1144.                     "isComposite": false,
    1145.                     "isPartOfComposite": false
    1146.                 },
    1147.                 {
    1148.                     "name": "",
    1149.                     "id": "ac29a000-9b3f-44cd-974d-88486b54385e",
    1150.                     "path": "<Keyboard>/c",
    1151.                     "interactions": "",
    1152.                     "processors": "",
    1153.                     "groups": "Mouse+Keyboard",
    1154.                     "action": "PageRight",
    1155.                     "isComposite": false,
    1156.                     "isPartOfComposite": false
    1157.                 },
    1158.                 {
    1159.                     "name": "",
    1160.                     "id": "480bd6de-cfd7-4766-86e6-9a304e7d6883",
    1161.                     "path": "<Gamepad>/leftTrigger",
    1162.                     "interactions": "",
    1163.                     "processors": "",
    1164.                     "groups": "Gamepad",
    1165.                     "action": "AnyTrigger",
    1166.                     "isComposite": false,
    1167.                     "isPartOfComposite": false
    1168.                 },
    1169.                 {
    1170.                     "name": "",
    1171.                     "id": "f41c7d4d-1ff3-4db0-8189-456d2e71175f",
    1172.                     "path": "<Gamepad>/rightTrigger",
    1173.                     "interactions": "",
    1174.                     "processors": "",
    1175.                     "groups": "Gamepad",
    1176.                     "action": "AnyTrigger",
    1177.                     "isComposite": false,
    1178.                     "isPartOfComposite": false
    1179.                 },
    1180.                 {
    1181.                     "name": "",
    1182.                     "id": "92acb464-4e98-4348-a4fe-da132373fb0c",
    1183.                     "path": "<Gamepad>/buttonNorth",
    1184.                     "interactions": "",
    1185.                     "processors": "",
    1186.                     "groups": "Gamepad",
    1187.                     "action": "Pin",
    1188.                     "isComposite": false,
    1189.                     "isPartOfComposite": false
    1190.                 }
    1191.             ]
    1192.         }
    1193.     ],
    1194.     "controlSchemes": [
    1195.         {
    1196.             "name": "Mouse+Keyboard",
    1197.             "bindingGroup": "Mouse+Keyboard",
    1198.             "devices": [
    1199.                 {
    1200.                     "devicePath": "<Keyboard>",
    1201.                     "isOptional": false,
    1202.                     "isOR": false
    1203.                 },
    1204.                 {
    1205.                     "devicePath": "<Mouse>",
    1206.                     "isOptional": false,
    1207.                     "isOR": false
    1208.                 }
    1209.             ]
    1210.         },
    1211.         {
    1212.             "name": "Gamepad",
    1213.             "bindingGroup": "Gamepad",
    1214.             "devices": [
    1215.                 {
    1216.                     "devicePath": "<Gamepad>",
    1217.                     "isOptional": false,
    1218.                     "isOR": false
    1219.                 }
    1220.             ]
    1221.         }
    1222.     ]
    1223. }