
TickProfiler
Valheim server/client hitch profiler with effective tick rate, exact plugin attribution, in-game alerts and 5-minute history graphs.MagiCorp Valheim Tick Profiler
TickProfiler is a Valheim dedicated-server performance profiler with an optional in-game client overlay.
Server profiler
The dedicated server records:
- Effective server tick rate versus the nominal 50 Hz target. Missed real-time deadlines reduce this rate and later Unity catch-up FixedUpdates do not restore it.
- Main
Updatethroughput plus p95/p99/worst wall-clock gaps. - Main-thread stall count, worst contiguous gap and excess wall time lost to stalls, independent of whether the cause can be attributed to managed code.
- Process CPU, managed memory and GC collections.
- Ranked self/inclusive time for networking, ZDO replication, AI, item drops, spawning, structures, terrain, production and other hot paths.
- Timing for supported Harmony Prefix/Postfix/Finalizer methods from other BepInEx plugins, including ValheimPlus.
Output is written to:
BepInEx/LogOutput.logBepInEx/tickprofiler-latest.txtBepInEx/tickprofiler-status.json
Touch BepInEx/tickprofiler.request to force an immediate server snapshot.
Client overlay
Install the same Thunderstore package on a Windows Valheim client to enable the overlay. The client component profiles local frame/main-thread timing but does not alter gameplay.
- Press F8 to toggle the overlay.
- Shows local client frame throughput, p95/p99 frame gaps, main-thread stall count, worst gap, cause and lost wall time.
- Shows rolling 5-minute client FPS/hitch and server tick-rate/hitch graphs.
- Shows local process CPU, managed memory and GC activity.
- Shows server effective tick rate and Update rate.
- Shows server main-thread stalls, p99/worst update gaps and event-correlated cause, including exact plugin/type/method where measurable.
- Shows server CPU, memory and GC data.
- Shows the current top server-side consumers and their worst call time.
- Shows snapshot age and client-to-server ping.
The server only sends profiler snapshots to clients that announce the TickProfiler overlay. Clients without TickProfiler are unaffected.
Client settings are created under BepInEx/config/magicorp.valheim.tickprofiler.client.cfg and include toggle key, default visibility, font size, position, width, UI scale, local stall threshold and ProfilePluginMethods. UIScale = 0 automatically scales from 1x at 1080p to 2x at 4K.
Server configuration
Created as BepInEx/config/magicorp.valheim.tickprofiler.cfg. Important settings:
ReportIntervalSeconds = 10DeepGameProfiling = trueProfileModHarmonyMethods = trueTopConsumers = 12SpikeThresholdMs = 20MainThreadStallThresholdMs = 75AnnounceHitchesInChat = truebroadcasts significant hitches into normal Valheim chat for connected TickProfiler clients.HitchChatTitle = Servercontrols the chat sender/title.AnnounceHitchesInGame = falseoptionally also shows a top-left HUD notification.AnnounceHitchesInGame = trueAnnounceHitchThresholdMs = 250AnnounceHitchCooldownSeconds = 10
Compatibility
Built and validated against Valheim 1.0.12 and BepInExPack Valheim 5.4.2350. The profiler does not change gameplay state.

