
BeastTribes CompatShim
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, Thunderstore and Nexus builds) and
1.2.0 (BeastTribes.dll). The species menu and body swapping work on both. Tail and ear physics
only work with the 2025.11.1 version; the 1.2.0 build does not have working physics, and that is
a BeastTribes matter, not something this shim can add.
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.
Known limitation: the dragon's flight animation still competes with such a mod while you are airborne, so a flying dragon can still flicker next to Better Archery. Ground animations and every other species are fine. This will be addressed in a later version.
Configuration
BepInEx/config/community.beasttribes.compatshim.cfg
| Setting | Default | Meaning |
|---|---|---|
TargetPluginGuids |
both known BeastTribes GUIDs | Plugins to scan and repair. Add a GUID if a future BeastTribes changes its. |
VerboseLog |
false |
Log every rewritten instruction. Turn on when reporting a problem. |
AnimatorCompat.Enabled |
true |
The A-pose flicker fix above. Only turn off to rule it out when troubleshooting. |
Troubleshooting
No target plugin found— BeastTribes isn't installed or failed to load, or it uses a GUID not inTargetPluginGuids.... NOT fixable (see errors above)— a broken call had no compatible replacement. Please report the error lines withVerboseLog = true.- BeastTribes' own logic bugs (wrong player targeted by the menu in multiplayer, species not always restored on world load) are not touched by this mod.
Notes
This mod contains no BeastTribes code. It only copies three method bodies out of the BeastTribes assembly already installed on your machine, corrects two instructions, and keeps the result in memory.