This tool enables the modification of specific keybinds that cannot be altered from the in-game settings. It also allows the assignment of more than two keybinds per action or even the removal of all keybinds entirely.
Locate keybinds.json in C:\Users\your_user_name\AppData\Roaming\Axolot Games\Scrap Mechanic\User\User_XXXXXXXXXXXXXXXXX\.
Before making changes, create a backup copy of keybinds.json.
Within the game settings, reset the controls to their default configuration, and then make a valid keybind change for any action. This process will ensure that a complete and updated version of keybinds.json is saved.
Upload keybinds.json to the editor with the Browse button. To alter keybinds, simply click on one, make the desired changes, and then click Save. Keybinds can be removed similarly by clicking on Delete instead. Click on the + signs to add new keybinds.
The checkbox to highlight potential conflicts only performs a "dumb" check. Keybinds will be highlighted as long as the code detects the same keybind in more than one place. Some actions can share keybinds with no issues in-game (detailed below). A tooltip will be displayed when hovering over a conflicting keybind, showing other actions that are using the same keybind.
Actions with the prefix C_ (likely denoting Creation) are specific to actions performed while the character is in a seat.
The in-game hotbar can hold two categories of items: one for tools, parts, and building blocks, and the other for the buttons and switches connected to a seat. These are, in fact, two distinct hotbars (referred to as the regular hotbar and the creation hotbar), with the former mapped to the MenuItem0-MenuItem9 actions and the latter mapped to the C_Item0-C_Item9 actions. In-game settings are limited to assigning the same keybinds to both sets of hotbars, but the editor allows for different keybinds. This holds true for the other C_ actions as well.
Most keybinds for non-prefixed actions can be reused for prefixed actions without any issues. For example, the keybind(s) for the Sprint action (Shift by default) can also be simultaneously used as the keybind(s) for one of the creation hotbar slots because the character cannot sprint while in a seat. On the other hand, the keybind(s) for the Handbook action (H by default) cannot be reused, as a character in a seat can still pull up the handbook.
The C_Create and C_Attack actions are bound to the left and right mouse clicks by default and cannot be modified in-game. In terms of functionality, these two actions are replicas of the C_Item0 and C_Item1 actions, which correspond to the first two slots of the creation hotbar. The editor renders the C_Create and C_Attack actions redundant since it allows mouse clicks to be directly assigned to any of the creation hotbar slots.
Both the C_Jump and C_Use actions serve the purpose of exiting a seat however, only one of them is necessary. If multiple keybinds are required, they can be assigned to a single action.
Modifying/Adding keybinds for C_ZoomIn and C_ZoomOut actions have no effect. The actions seem to be hard-coded to Alt + ScrollUp/ScrollDown in the game.
Keybinds for the Camera action also has no impact. Most likely, the action was intended for changing camera modes but is hard-coded to Ctrl in the game.
Scrap Mechanic does not recognise numpad keys.
Unassigning all keybinds from an action may cause the game to completely remove that action from keybinds.json. This could occur when you make a keybind change from the in-game settings.
Download the modified keybinds.json file when done modifying and place it back in the directory. Ensure that the file extension is .json.
Any adjustments made to keybinds.json will only take effect after reloading the game (exit completely and then relaunch).