Skip to content

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 UpdatesFrequent mod updates with new features, updates to the latest snapshotsGenerally inactive. Updates to new versions quickly, last update Dec '24Maintained, last update June '23Very slow updates, last update Oct '24
Version supportMaintains latest snapshot, 1.21.8, 1.21.5, 1.21.4, 1.21.3, 1.21.1 for both Fabric and NeoForgeMaintains 1.21.xMaintains 1.21.4, 1.21.1Maintains 1.21.1
Open source✅ Yes✅ Yes✅ Yes⛔ No
Library usedSDL 3GLFWSDL 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 emulation4-axis navigation, emulating arrow key navigationCursor emulation only.2-axis tab-keyFunction emulation
Controller rumble
In-game button guide✅ Extensible by resource packsHardcoded buttons and positionsHardcoded buttons and positions
Input latencyFPS bound1000Hz for axes, 20Hz for buttonsUnknownUnknown
Reach-around block placement✅ Emulates Bedrock Edition reach-around, server enforcable
Gyro support
Controller detection✅ Extensible by resource packsHardcoded identifiers in code, button theme must be changed manuallyName detection only, only generic button themesData-driven detection but seems hardcoded
Controller button rendering✅ Powered by resource packs and fontsTexture atlas for hardcoded identifiersGeneric themes onlyData-driven resource packs
In-game look sensitivity & behaviourBedrock Edition sensitivity by default, Legacy Console edition preset can be chosenDefault sensitivity is insane - more testing requiredGood defaults, lots of customizationneeds testing
Container interaction✅ Cursor snapping, contextual button guidesBasic mouse & keyboard emulationCursor emulation, cursor slows down over slotsBasic mouse & keyboard emulation
Touchscreen support
Eye tracker support
Joystick support✅ Multiple joysticks can be combined togetherSingle joysticks data-driven
Joystick mappingCustom resource pack or in-game wizard to map joystick -> gamepadAll combined joysticks limited to gamepad input. Powered by SDL mappingsPowered by SDL mappingsPowered by resource packs
ConfigurabilityEach controller has individual settings with the ability to map every single controller action. No hardcoding!needs testingEach 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

Controlify is an open-source Minecraft mod.