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 (2.0.0) | Midnight Controls (1.9.4) | Controllable (0.20.2) | Controller Support Mod (9.0.0) | |
---|---|---|---|---|
Mod Updates | Frequent mod updates with new features, last update October '24 | Generally inactive. Updates to new versions quickly, last update Feb '24 | Maintained, last update June '23 | Very slow updates, last update November '23 |
Version support | Maintains 1.21.1, 1.20.6, 1.20.4 and 1.20.1 for Fabric and NeoForge | Maintains 1.20.4 and 1.20.1 | Maintains 1.20.1 | Maintains 1.20.1 |
Open source | ✅ Yes | ✅ Yes | ✅ Yes | ⛔ No |
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-key emulation |
Controller rumble | ✅ | ⛔ | ✅ | ⛔ |
In-game button guide | Extensible by 3rd party mods | Hardcoded buttons and positions | Hardcoded buttons and positions | ⛔ |
Reach-around block placement | ✅ Emulates Bedrock Edition reach-around. Servers can enforce this setting to off | ✅ | ⛔ | ⛔ |
Gyro support | ✅ | ⛔ | ⛔ | ⛔ |
Controller detection | Powered by resource packs for unlimited data-driven detection, renders different buttons based on controller | 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 pack controller detection | Texture atlas for hardcoded identifiers | Generic themes only | Data-driven resource packs |
In-game look sensitivity & behaviour | Bedrock Edition sensitivity by default with good defaults | Default sensitivity is insane - more testing required | Good defaults, lots of customization | needs testing |
Container interaction | Enhanced container interaction with custom binds and button guides specific to the current hover state of the cursor | 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 | In-game mapping wizard to map any controller layout into a standard gamepad one, resource packs can provide these mappings and custom textures for buttons | 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 | ✅ Early stages (beta) | ⛔ | ⛔ | ✅ |
Radial action menu | ✅ Many radial menus for things ranging from quick actions to gamemode switcher to hotbar layout save/load | ✅ | ✅ | ⛔ |
HD DualSense haptics | ✅ Limited to GUI navigation | ⛔ | ⛔ | ⛔ |
Steam Deck support (back buttons, gyro, etc) | ✅ | ⛔ | ⛔ | ⛔ |