Resource packs in Horizon: what works and how to install them

Java Edition resource packs load in Horizon. How to install them, what the official table says works, which OptiFine features are partial, and the seven gaps.

By: MC Horizon editors · Published · Updated

Java Edition resource packs work in Horizon. Put the pack’s folder or .zip in the resourcepacks folder of the game folder, open the Resource Packs screen (the same screen vanilla uses) and move it to the selected side; Horizon reloads every loader from it just like vanilla. Horizon publishes a table of everything a 26.3 resource pack can change, and its summary line counts 46 rows: 32 work, 5 work partly, 7 don’t yet and 2 don’t apply. (The rows themselves mark a few more features as partial than that summary does; below we go by the rows.)

How to install a resource pack

  1. Find the game folder: ~/.local/share/horizon on Linux, ~/Library/Application Support/horizon on macOS, %APPDATA%\horizon on Windows.
  2. Put the pack (folder or .zip, don’t unzip zips) in resourcepacks/.
  3. In the game: Options → Resource Packs, select it, done.

Or let the launcher do it: its Mods page searches Modrinth for resource packs, marks each one Works, Partly or Doesn’t run in Horizon, checks the download against Modrinth’s checksum and puts it in the right folder. You still switch it on in the Resource Packs screen. Our resource pack list covers packs listed in the Horizon registry too, such as Menu Panorama, which swaps the title screen background for a picture of your choice.

Prepared vanilla resourcesProgrammer Art / High ContrastYour pack #1Your pack #2 (wins)One overlay tree every loader reads it lang, sounds.json, fonts, atlases merge layer by layer
Horizon layers selected packs over the vanilla files you prepared, later packs on top, as vanilla does.

What works

The table’s “works” rows cover nearly everything an ordinary texture pack touches:

  • Pack metadata and overlays: description, icon, format ranges, per-format overlays, filters, the compatibility warning.
  • Block states, block models, item definitions and item models, including multipart, weights, rotations and display transforms.
  • Textures at any resolution from 16x to 512x; the docs mention Faithful 32x, Default HD 128x and FPBR among the packs measured.
  • Texture animations (frames, frame time, frame size), mipmap settings, atlases and sprite sources.
  • GUI sprites with nine-slice borders, the title panorama, splashes, screen overlays like the pumpkin blur and vignette.
  • Languages (including new ones a pack adds), sounds and sound events.
  • Entities, block entities (chests, signs, beds, banners, shields, shulker boxes, decorated pots), equipment, armour trims on items, particles, the sky, clouds, rain and snow, maps, paintings and mob effect icons.
  • Server resource packs: the prompt, the 250 MiB download with SHA-1 check, toasts, a progress screen and removal when you leave.

Most rows are backed by a parity harness that compares Horizon’s loader with the pinned 26.3 client. That method is explained in how Horizon checks itself against vanilla.

What works partly (the OptiFine-era features)

Feature What’s missing
Connected textures (OptiFine/Continuity) name= rules aren’t loaded; random tiles land in different places than in OptiFine (same weights)
Custom item textures (OptiFine/CIT Resewn) Some enchantment glint layers; special renderers keep vanilla’s look; only players and armour stands wear CIT armour
Emissive textures (_e.png) Limits on overlay count; none on translucent faces, items or some entities
Random entity textures (OptiFine/ETF) No nbt.* rules or ETF’s extra conditions; no block entities
Custom entity models (OptiFine/EMF .jem) No sign, hanging sign or bed models; block entity models without animations

The table also marks as partial: GUI sprite scaling beyond nine-slice (HD GUI sprites get thin borders), blur/clamp flags from packs (ignored), fonts picked by text components (other fonts fall back to the default), and pack core shaders, which run for GUI text and the block outline only.

What doesn’t work yet

The seven “no” rows:

  1. Texture animation interpolate: frames step instead of blending (vanilla’s own prismarine, magma and lit furnaces too). A fix is in progress.
  2. TrueType (ttf) fonts: no TrueType rasteriser yet.
  3. Credits and end poem texts: Horizon has no credits screen yet.
  4. Villager profession hats hiding the type hat.
  5. Armour trims on worn armour.
  6. Locator bar styles: the locator bar isn’t drawn yet.
  7. Post-effect shaders (creeper/spider/enderman spectator views, glowing outlines from GLSL post chains).

The docs note that, shaders aside, these are missing vanilla features too, so each parity fix covers the resource pack case as well. Shader packs are a separate system; see how to install shaders.

Performance notes

Big packs cost memory and loading time, as on Java. Two Horizon specifics: entity culling and leaf culling, both off by default, switch themselves off with non-vanilla resource packs, because a pack may replace the models they rely on. If you’re chasing frames, see how to get more FPS in Horizon.

When a pack breaks something

Switch it off on the Resource Packs screen, or take it out of the folder. If the game crashed, the crash report in crash-reports/ lists your resource packs, which makes the culprit easy to spot. More fixes are in Horizon launch errors. If you want OptiFine-pack details compared with the Java side, see Horizon vs Sodium, Iris and OptiFine, and for the data side of packs, data packs in Horizon.

Sources

FAQ

Do high-resolution texture packs work in Horizon?

Yes. Textures from 16x to 512x work; the docs mention Faithful 32x, Default HD 128x and FPBR among the packs measured.

Do server resource packs work?

Yes. The prompt, the download, the progress screen and removing the pack when you leave all work, on vanilla servers and on Horizon's own.

Why do my animated textures look choppy?

Texture animations with interpolate set step between frames instead of blending. The docs list a fix in progress; vanilla's own interpolated textures are affected too.

Comments

Comments load when you scroll down to them.