BeastTribes CompatShim

版本 v0.4.2·更新於 2026-09-18

Makes BeastTribes (2025.11.1 and 1.2.0) load and work on Valheim 1.0.12+ by repairing its outdated game-API calls in memory at startup. BeastTribes.dll is not modified.

模組介紹 作者原文

BeastTribes Compat Shim

Makes BeastTribes work again on Valheim 1.0.12 and later. Install it next to BeastTribes and

you're done. Nothing in BeastTribes.dll is modified.

Works with BeastTribes 2025.11.1 (BeastTribes-Originals.dll, and builds) and

1.2.0 (BeastTribes.dll). The species menu and body swapping work on both. The 2025.11.1 models

come with tail and ear physics; the 1.2.0 models do not, so the shim can add it for them — see

"Optional: tail and ear physics" below.

The problem it fixes

Valheim 1.0.12 added optional parameters to two game methods that BeastTribes calls. BeastTribes was

compiled before that, so three of its methods now throw MissingMethodException the first time they

run. One of them runs while your character loads, which is why the game sits on the loading screen

forever with BeastTribes installed. Your log shows:

MissingMethodException: Method not found: void.MessageHud.ShowMessage(MessageHud/MessageType,string,int,UnityEngine.Sprite,bool)

Install

Mod manager (recommended): install this package like any other. It goes into its own folder

under BepInEx/plugins.

Manual: copy BTShim.dll into BepInEx/plugins/BeastTribes_CompatShim.

BeastTribes and Jötunn must be installed as usual. Load order is handled automatically.

Check that it worked

BepInEx/LogOutput.log should contain a line like:

[Info:BeastTribes Compat Shim] BeastTribes_Originals 2025.11.1 (BeastTribes-Originals.dll): 3 broken method(s), 3 stale call(s) rewritten, 3 call site(s) redirected, 0 Harmony patch(es) re-registered.

If it says all game method references resolve; nothing to repair, your BeastTribes build doesn't

have the problem and the shim does nothing.

How it works (short version)

Those three methods can't be patched the usual way: Harmony needs to compile the original method

first, and compiling it is exactly what fails. Instead, at startup the shim reads the BeastTribes

assembly with Mono.Cecil, finds every method that calls a game method that no longer exists, copies

that method's own code with the call corrected to the new overload, compiles the copy in memory, and

redirects the callers to it. No BeastTribes code is reimplemented and nothing is written to disk.

Because nothing is hard-coded to BeastTribes' method names, one DLL covers both BeastTribes versions

and would also cover the same kind of change in future game patches.

Also fixed: A-pose flicker with animation mods (BeastTribes 1.2.0)

If your character snapped into an A-pose several times a second with BeastTribes 1.2.0 and a mod that

adds player animations (Better Archery 2.0 for example), that was the two mods fighting over the

animation controller. The shim stops BeastTribes 1.2.0 from replacing the other mod's controller with

its own default one. This is automatic, needs no configuration, and does nothing for players who don't

run such a mod.

The dragon's flight animation is the one case where BeastTribes has to win. With Better Archery

installed the shim handles that too: its crouch-bow-draw overlay is held back while the flight controller

is active, so flying dragons don't flicker either. Known limitation: other animation-overriding mods

are not covered for the flight case yet; a flying dragon can still flicker next to them.

Also fixed: the Beast menu after deaths and in multiplayer

BeastTribes bound its menu (B) to whichever player object appeared last. In multiplayer that could be

another player, so clicking a species did nothing; and once that player, or your own dead character,

was destroyed the menu opened on a dead controller: no button worked, it could not be closed and your

input stayed blocked until you relogged. The shim keeps the menu bound to your character, ignores

the hotkey while you are dead, cleans up menus orphaned by a death and stops the

NullReferenceException flood BeastTribes logged during the respawn screen.

Also fixed: species lost on login and respawn

A species chosen in the Beast menu was never written

安裝與使用 安裝:BepInEx 外掛

  1. 本站下載的壓縮包就是模組本體,通常是 BepInEx 外掛(解壓後得到 .dll 或外掛資料夾)。
  2. 建議流程:用社群模組管理器(如 r2modman)選中本遊戲後匯入該模組,管理器會自動裝好 BepInEx 前置並處理依賴。
  3. 手動流程:先在遊戲目錄裝好 BepInEx 載入器,再把解壓出的 .dll 或外掛資料夾放進 BepInEx/plugins/。
  4. 啟動遊戲,BepInEx 控制台會列印載入日誌;確認這個模組出現在日誌裡即為安裝成功。

帶「前置依賴」的模組需要一併安裝,否則不會載入。功能開關通常在遊戲內或外掛自帶的設定檔裡調整。 多人連線時,主機與所有用戶端需要安裝一致的模組。

前置依賴

下面這些內容需要先安裝,否則該模組不會生效:

denikson-BepInExPack_Valheim

檔案與校驗

檔案名稱
BeastTribes_CompatShim-0.4.2.zip
檔案大小
70.7 KiB