OptiFine was originally a great mod offering many quality of life improvements for player in the beginning. However, over the years, its benefits have dwindled and has caused many issues for modders. This is due to Minecraft's codebase improving over the years and OptiFine's aggressiveness towards replacing entire swaths of code while being closed source making it very difficult to figure out why OptiFine has broken another modder's mod. Also worth noting that OptiFine natively doesn't support Fabric and it's hard to maintain OptiFabric.
In the modern Minecraft era, with Fabric's community effort, modders have begun to create alternatives for most of OptiFine's features to allow players to maintain better performance, better mod compatibility, and better support.
OptiFabric: A note about the 1.16 crashes
- Connected Block Textures (CBT) - CTM
- To fix glass panes bottom/top go here.
- Available for: 1.16. 1.17 is compile only from a fork.
- Requires the Fabric Renderer API.
- Chime - CIT replacement with a custom format. Allows for extensive item model variation based on different predicates.
- Available for: 1.16
- Colormatic - Custom colors.
- Available for: 1.14 -> 1.16
- LambDynamicLights - Dynamic lighting.
- Available for: 1.15 -> 1.17
- LambdaBetterGrass - Better grass and better snow.
- Available for: 1.16 -> 1.17
- Requires the Fabric Renderer API.
- Raised Clouds & Soaring Clouds - Configurable cloud height.
- Varied Mob Textures - Random entity textures (uses own format, not currently compatible with OptiFine format).
- FabricSkyboxes - Custom skybox (not currently compatible with OF format).
- Available for: 1.16 -> 1.17
- CullLeaves - Adds culling to leaf blocks, similar to OptiFine's "Smart Leaves" option.
- Available for: 1.16 -> 1.17
- Fabrishot - Takes higher resolution screenshots.
- Available for: 1.16 -> 1.17
- Custom Splash Screen - Change the resource loading screen with custom colors/logo/progress bar.
- Dark Loading Screen - Change the resource loading screen to be darker by default but support custom colors like OptiFine does.
- Splash - Change the resource loading screen to be darker by default but support custom colors like OptiFine does.
- Transparent - Allows transparent textures useful for custom paintings and other stuff.
- Clear Skies - Removes the banding at the horizon of Vanilla Minecraft.
- Available for: 1.17
- ResolutionControl+ - Self-describing.
- Available for: 1.16
- Sodium - performance improvements (even better than OptiFine) but no "fancy" options (if you want "fancy" options look for Canvas Renderer)
- Available for: 1.16 -> 1.17
- For Fabric Renderer API, look here.
- Canvas Renderer - shaders and performance improvements
- 1.16 (abandonned), 1.17 (active)
- Cull Particles - unneeded if Sodium is installed.
- Dynamic FPS - Reduces renders when unfocused to decrease CPU/GPU usage.
- Lithium - server optimizations (useful in singleplayer).
- Available for: 1.15 -> 1.17
- Phosphor - lighting engine performance improvements (incompatible with Starlight).
- Available for: 1.15 -> 1.16. 1.17 is work in progress.
- Starlight - rewrite of the lighting engine (incompatible with Phosphor), has a custom format for lighting, currently in Beta.
- Available for: 1.16 -> 1.17
As of 1.16.2 and above, this is now a vanilla feature under the accessibility settings. If you are playing in 1.16.2 or above, the mods for this feature are irrelevant.
Those are client-only mod that prevents Minecraft from changing the FOV in all situations.
- Canvas Renderer - A new rendering engine. Incompatible with Sodium.
- 1.16 (abandonned), 1.17 (active)
- Iris - A new shaders mod for Minecraft intended to be compatible with existing ShadersMod/Optifine shaders.
Compatible with a custom modified version of Sodium.
- Available for: 1.16. 1.17 is work in progress.
- Ok Zoomer
- Available for: 1.14 -> 1.17
- Logical Zoom
- Available for: 1.15 -> 1.17
The mods listed below are not part of the OptiFine alternatives directly but those are still nice to have.
- Hydrogen - Reduces the memory usage of the game in more modded scenarios.
- Available for: 1.16 -> 1.17
- Krypton - A mod to optimize the Minecraft networking stack
- Available for: 1.16 -> 1.17
- LazyDFU - Makes the initialization of DataFixerUpper "lazy". DataFixerUpper (or DFU for short) is the system used by Minecraft to convert old worlds to the current version you're running, in Vanilla it's initialized at startup and is slow (and eats a lot of resources). This mod delays the initialization of DFU by initializing only when needed, if you're playing only on multiplayer it'll never get initialized for example.
- Available for: 1.14 -> 1.17
- DashLoader - Attempts to improve loading times by caching the game's content. May be incompatible with some of the mods in this list.
- Available for: 1.16 -> 1.17
- Overworld Two provides an alternative optimized world generator for overworld and nether. Much faster than Vanilla but isn't identical to Vanilla.
- Available for: 1.16
- Sodium Extra - Adds features that should not be in Sodium.
- Available for: 1.16 -> 1.17
- overlay textures
- custom entity models (might come in Vanilla 1.18)
- Fishingline and Lead: Custom widths and textures.
Sodium and Canvas Renderer are incompatible.
Some mods require the Fabric Renderer API to work, Canvas supports it, but Sodium will not support it by default, Indium is required to support it.
If you need help about Sodium, Lithium, Phosphor (any of CaffeineMC's mod to be short), please check out CaffeineMC's discord server.
If you need help related to LambDynamicLights, LambdaBetterGrass, or if you don't want to post in the comments a suggestion you can check out my own discord server
Is there a mod that brings back MCPatcher's "Random Mobs" or OptiFine's "Random Entities"? I'd like to be able to use Alternate Entities, but I can't get it to work with Fabric.