Mod Comparison
A table such as this does not reflect the general user experience of each mod such as the user interface and the quality of the mentioned features, and you should try them all out before making a decision. This table is also not exhaustive, and there are many more features that are not listed here.
| Controlify (3.3.0) | Midnight Controls (1.10.x) | Controllable (0.23.x) | Controller Support Mod (9.0.0) | |
|---|---|---|---|---|
| Mod Updates | Frequent mod updates with new features, updates to the latest snapshots | Generally inactive. Updates to new versions quickly, last update Dec '24 | Maintained, last update June '23 | Very slow updates, last update Oct '24 |
| Version support | Maintains latest snapshot, 1.21.8, 1.21.5, 1.21.4, 1.21.3, 1.21.1 for both Fabric and NeoForge | Maintains 1.21.x | Maintains 1.21.4, 1.21.1 | Maintains 1.21.1 |
| Open source | ✅ Yes | ✅ Yes | ✅ Yes | ⛔ No |
| Library used | SDL 3 | GLFW | SDL 2.x / GLFW | |
| Custom Screen Compatibility | ✅ Convenient APIs to hook into controller support directly from Screen implementation. | No API. Sometimes necessary to mixin into Midnight Controls and edge-case code required. | ⛔ | ⛔ |
| Screen Navigation | ✅ 4-axis navigation, emulating arrow key navigation with optional cursor emulation | 4-axis navigation, emulating arrow key navigation | Cursor emulation only. | 2-axis tab-keyFunction emulation |
| Controller rumble | ✅ | ⛔ | ✅ | ⛔ |
| In-game button guide | ✅ Extensible by resource packs | Hardcoded buttons and positions | Hardcoded buttons and positions | ⛔ |
| Input latency | FPS bound | 1000Hz for axes, 20Hz for buttons | Unknown | Unknown |
| Reach-around block placement | ✅ Emulates Bedrock Edition reach-around, server enforcable | ✅ | ⛔ | ⛔ |
| Gyro support | ✅ | ⛔ | ⛔ | ⛔ |
| Controller detection | ✅ Extensible by resource packs | Hardcoded identifiers in code, button theme must be changed manually | Name detection only, only generic button themes | Data-driven detection but seems hardcoded |
| Controller button rendering | ✅ Powered by resource packs and fonts | Texture atlas for hardcoded identifiers | Generic themes only | Data-driven resource packs |
| In-game look sensitivity & behaviour | Bedrock Edition sensitivity by default, Legacy Console edition preset can be chosen | Default sensitivity is insane - more testing required | Good defaults, lots of customization | needs testing |
| Container interaction | ✅ Cursor snapping, contextual button guides | Basic mouse & keyboard emulation | Cursor emulation, cursor slows down over slots | Basic mouse & keyboard emulation |
| Touchscreen support | ⛔ | ✅ | ⛔ | ⛔ |
| Eye tracker support | ⛔ | ✅ | ⛔ | ⛔ |
| Joystick support | ✅ | ✅ Multiple joysticks can be combined together | ✅ | Single joysticks data-driven |
| Joystick mapping | Custom resource pack or in-game wizard to map joystick -> gamepad | All combined joysticks limited to gamepad input. Powered by SDL mappings | Powered by SDL mappings | Powered by resource packs |
| Configurability | Each controller has individual settings with the ability to map every single controller action. No hardcoding! | needs testing | Each controller has individual settings with plenty of options. | None |
| Mod keybindings | ✅ | ✅ | ✅ | ✅ |
| On-screen keyboard | ✅ Works everywhere, data-driven localised layouts | ⛔ | ⛔ | ✅ |
| Radial action menu | ✅ Many radial menus for things ranging from quick actions to gamemode switcher to hotbar layout save/load | ✅ | ✅ | ⛔ |
| HD DualSense haptics | ✅ Extensible by addon mods, only GUI navigation implemented in Controlify | ⛔ | ⛔ | ⛔ |
| Adaptive DualSense triggers | ✅ | ⛔ | ⛔ | ⛔ |
| Steam Deck support (back buttons, gyro, etc) | ✅ Uses CEF debugger, requires Decky Loader | ⛔ | ⛔ | ⛔ |