Valheim
You are viewing a potentially older version of this package. View Latest Version
Install with App

Details

Date Uploaded
Downloads
4.7K
Size
283KB
ADDatHost Valheim hosting
30% off

Valheim Enhanced Edition

More frames in big bases, with the game looking and playing exactly as it does without it. And, optionally, your builds and the world around them visible all the way to the fog.

Unofficial mod, not affiliated with Iron Gate. A performance and far view mod, not a ReShade preset.

What it does

Big bases are slow in Valheim mainly because the game draws every building piece as its own object. The mod draws the plain pieces of an area as one merged mesh per material instead. Each piece stays a real piece: you can still damage it, repair it, remove it, open it and build onto it. The moment anything about a piece changes, it is drawn the game's own way again. Nothing about the picture changes: we checked it frame by frame against the unmodded game.

It also removes some smaller per-frame costs, each producing exactly the game's own result:

  • Merged buildings: one mesh per material per area instead of one object per piece. This is the big one.
  • Object streaming: skips the game's 30-times-a-second check for objects to create or remove when nothing near you has changed.
  • Water:
    • water surfaces update their animation without asking Unity for their material every frame;
    • the water height under floating things (boats, items, swimmers) is worked out with the per-frame values looked up once. Checked against the game's own heights 1.35 million times, with 0 differences.
  • Zones: a faster check of whether a zone still holds objects before it is unloaded.
  • Terrain: keeps more finished terrain builds, so zones you come back to don't rebuild their terrain from scratch.

Before and after, drag to compare: https://claude.ai/artifact/Eb7gJWfsmjmnZF6gJCUQh5

How much faster

Measured with the frame rate unlocked, same spot and same camera path, on an Intel Core Ultra 9 285K with an RTX 5090. In big bases Valheim is limited by the CPU, so on a slower CPU the frame times are longer and the gain in milliseconds is bigger:

Scene Without With the mod Change
Island Castle (a public world save with 25,850 pieces) 32 fps 46 to 52 fps +46 to +58%
A large lived-in base (about 4,500 pieces in view) 53 fps 65 fps +23%
Meadows next to a big base 76 fps 108 fps +42%
Loading into Island Castle (time spent in slow frames) 5.8 s 2.4 s 58% less

On 2 and 4 cores, at low and high settings, and from 1080p to 4K it was faster everywhere, by 6 to 28%. How much you gain depends on how many building pieces are in view: big bases gain the most, and open wilderness little or nothing.

Island Castle world: castle build by Hjalmere (Nexus Mods). Used for the measurements and the video with thanks.

Installation

Install with r2modman or the Thunderstore Mod Manager; BepInExPack Valheim is installed automatically.

Manual install: put ValheimEnhancedEdition.dll in Valheim\BepInEx\plugins\ValheimEnhancedEdition\.

Multiplayer: client-side. Players with and without it can play together, on servers with or without it. Nothing is sent over the network. On a dedicated server it does no harm. The drawing features switch themselves off there, and the rest work as usual.

Console commands (F5)

Command What it does
perf fps A small readout (top left): average fps, 1% low and frame time over the last 10 s
perf off / perf on Every feature of the mod off (the game as it is without the mod) / back as it was, live, to compare
perf merge on|off (and streaming, water, floaters, zones, terrain) One feature at a time
perf tune Stand still in your base for about two minutes: measures which settings are fastest on your PC and saves them
perf status What's on, and how much is merged
perf reset Every setting back to its default

Settings

BepInEx\config\com.chase.valheimenhancededition.cfg (r2modman: Config editor). Every feature has its own switch. The defaults are what we recommend.

Setting Default What it does
Merged buildings / Enabled true The building merge
Merged buildings / CellSize 32 Size of the areas merged into one mesh (16, 32 or 64 m; perf tune can pick it)
Merged buildings / FrameBudgetMs 2 Most time a frame spends building merged meshes
Object streaming / SkipIdleChecks true Skip the create/destroy check when nothing changed
Water / CacheMaterials, FastFloaters true The two water features
Zones / FastUnloadCheck true The faster zone unload check
Terrain / BiggerBuildCache true The bigger terrain build cache

Far view (experimental, off by default)

Far view shows your builds, the ground you've flattened, dug or paved, trees and rocks, and ships and carts far beyond the game's normal range, as far as the fog lets you see. Sail towards your base and it is on the horizon long before the game would normally draw it. Switch it on with perf far on (or Far builds / Enabled in the config).

  • It draws simplified copies made from your world's save, with the game's own materials, so fog and lighting match. Detail drops with distance so that the error stays under about a pixel. Close up, the real pieces take over without a gap.

  • It follows the weather. In thick fog or mist (the Mistlands, storms, night) nothing past the loaded area can be seen, so it goes idle there and costs nothing. It also watches its own cost and draws less far out if a scene gets too heavy.

  • With RenderHeim installed, it follows RenderHeim's thinner fog and longer camera range, and leaves the trees and rocks inside RenderHeim's own range to it.

  • Works with FarLands (Ivvty): FarLands draws the land, forests and rocks to the horizon but no buildings; this mod adds your builds on top. With FarLands drawing, far builds reach as far as its land (up to 6 km), its forest replaces our far trees where it draws them, and our far terrain edits stand down (its land is the world as generated, so a heavily levelled base can sit a few metres off it far away). No settings needed: leave far view's Distance at its default and it follows FarLands.

  • Single player and hosts only (it needs the world's save). Joining someone else's server, it stays off.

  • It keeps a cache on disk (BepInEx\cache\ValheimEnhancedEdition\far), at most 4 GB per world. A small world needs a few hundred MB; a big, forested one about 3.5 GB. Caches of worlds not played for 60 days are removed.

  • The first visit to a world builds its far copies in the background (about two minutes in a big world, with some stutter meanwhile). After that they load from the cache. In a big world it uses about 1.5 GB more memory.

  • Experimental:

    • it costs some frame time of its own, more with a high Simulation Distance setting;
    • about 2 ms a frame in a big world in clear weather;
    • small bushes and plants aren't in it yet.

    Please report anything that looks different from the real thing up close.

Known issues

  • Far view is experimental and off by default. While it loads saved far copies from disk, or swaps their detail as you sail, you can get an occasional single hitch (about 15 to 50 ms). The first visit to a big world builds for about two minutes with some stutter. Leave it off if you notice it; the rest of the mod doesn't depend on it.
  • RenderHeim: supported, but lightly tested so far.
  • Far view in a big world uses about 1.5 GB more memory and up to 4 GB of disk.

Reports are welcome, with your BepInEx\LogOutput.log.

Compatibility

  • Works with VPO, RenderHeim and most other mods.
  • Next to another mod that merges or batches building pieces itself (PUP FPS, Valheim Performance Overhaul, Valheim Build Optimization with renderer batching on), this mod's merged buildings stand down, with a line in the log, and its other features stay on.
  • With RenderHeim installed, this mod's far terrain stands down. With FarLands drawing, it stands down too (FarLands draws the land as generated, so a heavily levelled or raised base can sit a few metres off it far away).

Like other mods, this marks your game as modded, as Iron Gate asks of mod authors.

Thunderstore development is made possible with ads. Please consider making an exception to your adblock.