A BepInEx-based mod that fixes DualShock 4 Bluetooth controller detection in Overcooked 2 on macOS. ReadMe may seem like an "AI Slop" since i asked chatGPT to write it but code has been tested and run by real person
By default, Overcooked 2 does not recognize DualShock 4 controllers over Bluetooth, due to how the game’s input system (using InControl) identifies controllers only by Bluetooth device name — not by vendor or product ID.
This mod forces the game to recognize DualShock controllers even over Bluetooth if their name contains "DUALSHOCK".
To ensure detection:
-
Open System Preferences → Bluetooth
-
Rename your controller to include
DUALSHOCK(case-insensitive)- Example:
DUALSHOCK Black
- Example:
If your controller name doesn’t include this keyword, the game will treat it as an unknown device.
cd /Users/Shared/
curl -LO https://github.com/AlvinHV/Overcooked2DS4BT/releases/download/v1.0.0/Overcooked2Mod.zip
unzip Overcooked2Mod.zip
rm Overcooked2Mod.zipIn Steam:
- Right-click Overcooked 2 → Properties
- In Launch Options, enter:
/Users/Shared/Overcooked2Mod/run_bepinex.sh %command%
- D-Pad is not working properly.
Originally suspected Unity’s IOKit-based input system was the issue. After reverse engineering (including hooking C++ functions and IOKit exports), I confirmed that:
- Unity does receive controller input properly via
IOHIDDevice. - The game uses the InControl C# library to manage controllers.
- InControl fails to recognize controllers if their Bluetooth name doesn't match any predefined strings or regexes.
This mod patches InControl’s logic to ensure the controller is not "unknown".