A Beat Saber mod that lets you remap almost any controller button.
| Action | Description |
|---|---|
| Pause | You can bind any supported button as the pause key. |
| Restart | You can bind any supported button to restart the level. |
| Token | Physical Button | Unity CommonUsages |
Hand |
|---|---|---|---|
L_X / R_A |
X (left) / A (right) | primaryButton |
L / R |
L_Y / R_B |
Y (left) / B (right) | secondaryButton |
L / R |
L_Grip / R_Grip |
Grip | gripButton |
L / R |
L_Trigger / R_Trigger |
Trigger (click) | triggerButton |
L / R |
L_Stick / R_Stick |
Thumb‑stick click | primary2DAxisClick |
L / R |
L_Menu / R_Menu / Menu |
Menu button | menuButton |
L / R |
Heads‑up – Triggers
Triggers also act as click inside the pause menu, so bindingL_Trigger/R_Triggerto Pause can make the cursor instantly resume the game.
If you must use a trigger, bind only one side and be careful.
- BSIPA
- BSML
- SiraUtil
- Install the required mods
- Download the latest from the Releases page.
- Unzip the archive into your Beat Saber folder.
You can now configure button mappings directly in-game:
- Go to Mods menu in the main menu
- Select KeyRemapper
- Use the dropdown menus to add/modify button bindings
- Changes are saved automatically and take effect immediately
On first launch the mod creates
UserData/KeyRemapper.json. A minimal file looks like:
{
"Version": 2,
"Actions": {
"Pause": {
"Bindings": ["L_X", "L_Y", "R_A", "R_B"],
"BlockBuiltIn": false
},
"Restart": {
"Bindings": []
}
}
}- Edit the file, add any Token from the table above into
Bindings, save - Empty array
[]means “not set”.
- Trigger as Pause – interferes with menu clicks; consider another button.
Pull requests and issues are welcome!
If you add new buttons or features, please update both the English and Chinese docs.
{ "Version": 2, "Actions": { "Pause": { "Bindings": [], // Your custom buttons "BlockBuiltIn": false }, "Restart": { "Bindings": [] } } }