OptiFabric: running OptiFine on the Fabric Loader
OptiFabric is a bridge mod that lets you load OptiFine as a Fabric mod. Normally OptiFine only runs on its own or with Forge, and OptiFabric breaks that barrier. If you really need OptiFine (capes, connected textures, a specific shader) and you also play with Fabric mods, OptiFabric is the solution. It has limitations, but it works.
How OptiFabric works
OptiFine is not an open-source mod and doesn't use the standard Fabric API. It is designed as a standalone mod or an add-on for Forge. OptiFabric solves this through runtime patching: when the game starts, it grabs the OptiFine .jar file and injects it into the Fabric environment as a compatible mod.
This approach has a fundamental flaw: OptiFine modifies Minecraft's renderer at a low level, which clashes with every other mod that does the same. That's why OptiFabric is not compatible with Sodium, Iris or other Fabric graphics mods. You have to choose: OptiFine (through OptiFabric) or native Fabric optimization mods.
Step-by-step installation
Requirements
- Fabric Loader installed (Fabric installation guide)
- Fabric API in the
mods/folder - OptiFine downloaded from optifine.net (the .jar file, don't run the installer: the file alone is enough)
Step 1: Download OptiFabric
Download OptiFabric from Modrinth or CurseForge. Choose the version that matches your MC version. The downloaded file is optifabric-X.X.X.jar.
Step 2: Put the files in the mods folder
Put three files in the .minecraft/mods/ folder:
fabric-api-X.X.X.jar- Fabric APIoptifabric-X.X.X.jar- OptiFabric itselfOptiFine_X.XX.X_HD_U_XX.jar- OptiFine (don't run it through the installer, drop in the raw .jar file)
Step 3: Launch the game
Launch Minecraft with the Fabric profile. OptiFabric automatically detects the OptiFine file and loads it. In Video Settings you'll see OptiFine's extended options (Shaders, Quality, Performance). If the game crashes, check the problems section below.
Mod compatibility
OptiFabric works with most Fabric mods that don't modify the game's renderer. Compatible mods include:
- Mod Menu - a list of mods with their settings
- Roughly Enough Items (REI) - a recipe viewer
- Lithium - logic optimization (doesn't conflict with the renderer)
- Fabric Language Kotlin - a library for mods written in Kotlin
- WorldEdit - terrain editing
Incompatible:
- Sodium - modifies the renderer, a direct conflict with OptiFine
- Iris Shaders - an alternative shader system that can't run at the same time as OptiFine
- Indium - a Sodium addon, pointless without Sodium
- Canvas Renderer - an alternative renderer, same problem
Limitations and known problems
Delayed updates
OptiFabric has to wait both for a new OptiFine version and for compatibility with the new Fabric API. That is a double wait: a new MC version may stay unsupported for weeks or months.
Crashes with graphics mods
Any mod that modifies rendering (even indirectly) can cause a crash. If the game doesn't start after you add a new mod, check whether it conflicts with OptiFine.
Lower FPS than Sodium
OptiFine improves performance compared to vanilla, but Sodium does it more effectively. Benchmarks show 50-200% more FPS with Sodium than with OptiFine on the same hardware. If performance is your priority, Sodium wins.
No support from the OptiFine author
sp614x (the author of OptiFine) officially doesn't support OptiFabric. The OptiFine author won't look into problems with OptiFine running through OptiFabric.
Alternatives: when not to use OptiFabric
Most OptiFine features have native Fabric equivalents that work better and don't cause conflicts:
| OptiFine feature | Fabric equivalent |
|---|---|
| FPS optimization | Sodium |
| Shaders | Iris Shaders |
| Connected Textures | Continuity |
| Dynamic lighting | LambDynamicLights |
| Zoom | Zoomify or Ok Zoomer |
| Detailed Video Settings | Sodium Extra + Reese's Sodium Options |
The only reason to use OptiFabric instead of the native alternatives: you want an OptiFine cape, or you use a resource pack or shader that works only with OptiFine (for example older versions of SEUS). In every other case the Sodium + Iris + Continuity + LambDynamicLights set gives better results.