Discord
OptiFabric
Mods

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:

  1. fabric-api-X.X.X.jar - Fabric API
  2. optifabric-X.X.X.jar - OptiFabric itself
  3. OptiFine_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.