Please disclose if any significant portion of your mod was created using AI tools by adding the 'AI Generated' category. Failing to do so may result in the mod being removed from Thunderstore.
balrond core optimizer
Mod optimize logic calculations in multiple ingame components to lessen CPU burden
CHANGELOG
Balrond Core Optimizer — Changelog
v0.2.7 — Development update (2026-10-20)
Status: source-stage update; static checks completed in the development workflow. A successful C# build or static validation does not establish multiplayer, visual or performance correctness without Valheim runtime testing.
Diagnostics and tools
- Added the client-side
bco_diagconsole command: immediate snapshot,start [seconds],full [seconds],stop,methods,materials,help. Timed sessions default to 60 seconds and clamp to 10–180 seconds; reports are saved toBepInEx/BCO_Diagnostics/. - Added comprehensive
fullreporting of frame intervals, available GC/main-thread allocation readings, BCO-owned service timings, Harmony owners, settings, Balrond/external providers, scene-registry changes and on-demand material incidents. - Improved the diagnostic method inventory and offline Valheim assembly audit tooling, including generic
MethodSpeccall resolution. The method inventory is static/read-only; there is no new full per-method CPU profiler. - Added approximate sampled p50/p95/p99 frame-interval statistics and hitch counts. These do not represent isolated CPU/GPU frametime and should not be advertised as FPS gains.
- Reduced routine
Infologging. Successful command registration and normal startup/report messages are silent or Debug-only; warnings and errors remain visible.
Five bounded safety utilities
CacheVerification: periodically verifies the BCO-owned camera identity memo (one in 32 hits); divergence disables that memo for the current session and falls back to a live read.FrameCameraSnapshot: same-frame camera identity reuse limited to BCO's optional LightLod scheduler. World positions are read live; known camera/post-processing providers bypass memoization.OwnedStateGuard<T>: conditional restoration of BCO's own experimental GPU-instancing material flag writes; avoids overwriting changed shader/observed state.ReusableBufferPool<T>: capacity-limited, cleared reusable arrays for BCO's external-provider diagnostic reporting only; no pooled world objects/network state.ExternalOptimizerDiagnostics: advisory recognition of SteadyFrame, ValheimVisuals and other visual/camera providers without taking over their systems.- These modules add no new BepInEx configuration entries or Valheim Harmony targets.
Performance, correctness and compatibility
- Cached the weak-state factory delegate; reduced avoidable BCO allocations on repeat state lookups.
- Improved
LightLodSchedulertransition-queue removal and unregister cleanup; hardened Unity InstanceID reuse handling and per-object vanilla rollback so one failing object cannot abort restoration of others. - Replaced optional GPU-instancing allowlist prefab reflection calls with the publicized direct
ZNetScene.GetPrefab(string)API; kept the feature opt-in/disabled by default, with BAO material ownership and external-renderer guards. - Improved weak Unity-object registry identity checks, avoiding removal of a newer entry if Unity reuses an InstanceID.
- Kept Harmony conflict handling per exact target. Delegated known Balrond-owned overlaps; protected BAO visuals, BMM authority and BetterBuild
WearNTearownership. - Improved source/project hygiene, ILRepack
PackageReferencebuild metadata, matching 0.2.7 versions, tests and developer validation artifacts; removed obsolete source patch instructions andpackages.configfrom the prepared clean baseline. - Preserved existing Conservative Mode defaults, ServerSync registration and gameplay boundaries. No static-building clusters, construction GPU batching, AI, ZDO, multiplayer-authority or physics overhaul was added.
Known limitations / testing
SkyAlpharemains a no-op/blocked fallback where its exact method is unavailable;Ground Loot NonAlloc Physicsis off by default and its protected target may be delegated.- Instrumented BCO services are not a general Valheim method profiler. Material scans run only on request or at the end of
bco_diag full. - Compilation and in-game A/B, DX11/Vulkan, host/client and dedicated-server tests remain release gates. No measured FPS improvement is claimed for these changes.
v0.2.6
- Prior development baseline for the 0.2.7 changes. The supplied historical changelog does not contain a detailed v0.2.6 entry; no undocumented release claims are added here.
v0.2.5
- ServerSync/ILRepack build integration and multiplayer configuration hotfixes; actual deployment now uses the merged DLL rather than a loose ServerSync runtime dependency.
v0.2.4
- Code optimization, additional patch gates and improved patch efficiency.
v0.2.1
- Multiplayer synchronization and safety improvements, including protection for Catapult/SiegeMachine composite Vagon instances.
v0.2.0
- More selective Harmony compatibility, audited owner delegation and additional presentation/query optimizations.
v0.1.3
- Even More Deep North Fix.
v0.1.2
- More Deep North Fix.
v0.1.1
- Deep North Fix.
v0.1.0
- Initial release.