balrond core optimizer
Mod optimize logic calculations in multiple ingame components to lessen CPU burden
About this mod Author’s original text
Balrond Core Optimizer
Client-side CPU, presentation and query optimization for Valheim
Current documentation target: Balrond Core Optimizer 0.2.0
Balrond Core Optimizer (BCO) reduces repeated CPU work that Valheim performs for visual state, equipment presentation, lights, effects, audio and frequently queried world-object lists. It is designed primarily for large bases, dense modded worlds and scenes containing many active components.
BCO follows a conservative rule: do not change gameplay authority just to gain frames. It avoids combat, AI, networking authority, structural integrity, dropped-item physics and production timing. When a result is already known and unchanged, BCO skips redundant presentation/query work. More invasive cadence and scheduler replacements are separated behind Conservative Mode.
Join Balrond's Den · All Balrond mods · Support development on Ko-fi · Commission inquiries
What does BCO optimize?
Static and network-backed visuals
- Armor Stand visual revision gate — skips repeated ArmorStand.UpdateVisual reconstruction while the relevant network-backed data revision is unchanged.
- Item Stand visual revision gate — avoids rebuilding the same attachment visual when its network-backed state has not changed.
- Ward / PrivateArea status visual gate — avoids repeated SetActive and emission writes while preserving vanilla flash re-arming.
- Portal stable emission gate — portal transitions remain full-rate; once the fade reaches a stable endpoint, BCO stops rewriting the same emission color every frame.
Aggressive optional static optimization
- Armor Stand cloth throttling — replaces the vanilla every-frame cloth-distance decision with a throttled squared-distance check.
This feature is blocked by default while Conservative Mode = true.
Character presentation
- VisEquipment equipment signature gate — avoids repeated equipment reconstruction checks when equipped-item state is unchanged.
- VisEquipment color signature gate — avoids repeated skin/hair material color writes when colors, model and generated visual instances are unchanged.
The color gate treats a player model change as an invalidation event, so unchanged RGB values are still re-applied to a newly selected model.
Aggressive optional character optimization
- VisEquipment whole-player revision gate — can skip the entire UpdateVisuals pass while the player visual revision is unchanged, avoiding UpdateBaseModel plus nested equipment/color work.
This feature is blocked by default while Conservative Mode = true.
Production presentation
- Smelter visual-state gate — caches only presentation/animation state. Fuel, ore, roof checks, smoke simulation and production remain vanilla.
- Fireplace visual-state gate — skips stable visual tiers while preserving the vanilla wet-owner toggle/RPC path when it can run.
- Cooking Station visual signature gate — caches slot/status/fire/fuel-visible presentation. Cooking timers and fuel consumption remain vanilla.
Aggressive optional station optimization
- Crafting Station idle dormancy — vanilla CustomUpdate always executes first. Only after the vanilla timers reach their idle thresholds may BCO remove a fully idle station from the CraftingStation updater source. PokeInUse and extension queries wake it again.
This feature is blocked by default while Conservative Mode = true.
Continuous presentation and effects
The conservative profile keeps low-risk endpoint/no-op gates available:
- Cart/Vagon idle tether gate — a detached cart whose tether is already hidden can skip redundant LateUpdate work, with periodic vanilla reconciliation.
- EffectFade stable-endpoint gate — the component stays enabled; BCO skips terminal no-work frames and periodically lets vanilla reconcile.
- MaterialFader stable-endpoint gate — the component stays enabled; direct field changes from other mods remain observable on the next frame.
- ZSFX idle fast gate — ZSFX instances remain registered in Valheim's updater. BCO only skips terminal
Install & use Install: BepInEx plugin
- The archive from playbuff is the mod itself — usually a BepInEx plugin (a .dll or a plugin folder once unzipped).
- Recommended: use a community mod manager (such as r2modman) — pick this game, import the mod, and the manager sets up BepInEx and its dependencies for you.
- Manual route: install the BepInEx loader in the game folder, then drop the unzipped .dll or plugin folder into BepInEx/plugins/.
- Launch the game — the BepInEx console logs every plugin it loads; seeing this mod in the log means it is installed.
Mods with listed dependencies need those installed too, or they will not load. Options are usually changed in-game or in the plugin's config file. In multiplayer, the host and every client need the same mods installed.