Skarif-ValheimPrefabParser icon

ValheimPrefabParser

Developer tool: dumps and categorizes all 6000+ Valheim prefabs to a text file. For modders and testers only — no gameplay changes.

CHANGELOG

Changelog

All notable changes to Valheim Prefab Parser are documented here.

[2.0.0] - 2026-02-22

Fixed

  • ObjectDB was empty on parse — the mod used to start parsing immediately after ZNetScene.Awake, before ObjectDB had time to populate. Now a coroutine waits until ObjectDB.instance.m_items.Count > 0 before starting. Singleplayer and multiplayer (via CopyOtherDB fallback patch) both handled correctly.
  • ~2400 prefabs were missing — the Resources.FindObjectsOfTypeAll filter parent == null was discarding child objects inside prefabs (meshes, colliders, LOD levels). Filter removed; total count is now back to ~6000+.
  • Reflection used for m_boss — replaced GetField("m_boss") with direct access to the public field character.m_boss. Faster and more robust.
  • O(n²) duplicate checkList.Contains inside the collection loop replaced with HashSet<int> keyed on GetInstanceID(). O(1) per lookup.
  • Code duplicationParseSync and ParseCoroutine previously both contained a full copy of the formatting logic. Extracted into a shared BuildContent() method.
  • Output path — file is now written next to the plugin .dll instead of the root plugins/ folder.
  • Unused Jotunn dependency — removed from .csproj; the mod has no runtime dependency on Jotunn.

Added

  • IncludeComponentList config option — when enabled, prints every component on each prefab. Useful for deep inspection. Disabled by default (keeps file small).
  • Summary table at the top of the output file showing prefab count per category.
  • 30-second timeout in WaitForObjectDBAndParse — if ObjectDB never becomes ready, parsing proceeds with whatever data is available and logs a warning.
  • Categories 22_Minerals now also catches MineRock5, 32_SFX added for audio-only prefabs without a ZNetView.

Changed

  • VFX detection now checks for a ParticleSystem component first; name-based fallback (vfx_, sfx_, fx_) is secondary.
  • Output format improved: added Unicode box-drawing borders, summary section, and timestamp in yyyy-MM-dd HH:mm:ss format.
  • Version bumped to 2.0.0.

[1.0.2] - initial release

  • Initial public release.
  • Categorized prefab dump from ObjectDB, ZNetScene, and Resources.
  • Coroutine mode to reduce frame hitches.