You are viewing a potentially older version of this package. View all versions.
ArcticFoxTeam-BeastTribes_CompatShim-0.4.1 icon

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.

Date uploaded 3 weeks ago
Version 0.4.1
Download link ArcticFoxTeam-BeastTribes_CompatShim-0.4.1.zip
Downloads 34
Dependency string ArcticFoxTeam-BeastTribes_CompatShim-0.4.1

This mod requires the following mods to function

denikson-BepInExPack_Valheim-5.4.2350 icon
denikson-BepInExPack_Valheim

BepInEx pack for Valheim. Preconfigured with the correct entry point for mods and preferred defaults for the community.

Preferred version: 5.4.2350

README

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. 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 to your save, so every time you entered the world (or respawned after dying) you were a Viking again and had to pick it once more, even though the character-selection screen showed the beast correctly. The shim now re-equips the remembered species right after you spawn. Choose "none" in the Beast menu to stay human.

Also fixed: camera zoom flicker with camera mods

If the camera went crazy the moment you became a beast, flickering between a normal view and a smeared, extremely zoomed-in close-up of the ground (often a greenish mess filling the screen), but looked fine while the game was paused or as a Viking, that was BeastTribes forcing the camera's field of view back to a value it remembered once, against a camera mod such as Customizable Camera. The shim keeps BeastTribes' remembered value in step with the live camera, so camera mods keep control of the zoom while you walk, and BeastTribes' own flight zoom still works when a fox or dragon flies. With Customizable Camera installed the shim also holds its camera update back during a flight so the two don't fight in the air. Automatic; nothing changes for players without a camera mod.

Optional: tail and ear physics for BeastTribes 1.2

The 1.2 models ship without any tail or ear physics, so tails hang rigid. The shim can attach the same kind of physics BeastTribes 2025.11.1 had, using the physics script that is already inside BeastTribes 1.2, with tuning taken from the 2025 models. It is off by default: open the in-game settings menu (F1 with Configuration Manager), find this mod and tick Enabled under "TailPhysics". It applies at once, also when you switch species. Tails swing and lag behind when you move, ears twitch with your head and hold their pose when you stand still. Every value is a live slider, separately for tails and ears, including how firm the base is compared to the tip. Purely visual and local; nothing changes for players on 2025.11.1. Since 0.4.1 the dragon's tail no longer bends sideways at the base while standing still.

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.
MenuTargetFix.Enabled true The Beast menu fix above. Off = BeastTribes' original behaviour.
RespawnRestore.Enabled true Re-equip your species after a spawn when BeastTribes did not. Off = BeastTribes' original behaviour.
CameraCompat.Enabled true The camera zoom fix above. Only turn off to rule it out when troubleshooting.
TailPhysics.Enabled false Tail and ear physics for BeastTribes 1.2 (see above). Ignored on 2025.11.1. Sliders for both chains live in the same menu.

Troubleshooting

  • No target plugin found — BeastTribes isn't installed or failed to load, or it uses a GUID not in TargetPluginGuids.
  • ... NOT fixable (see errors above) — a broken call had no compatible replacement. Please report the error lines with VerboseLog = true.
  • Beast menu opens but no button works / cannot be closed — the shim prevents this from 0.3.0 on (look for MenuTargetFix: active in the log). A menu that was already stuck disappears on the next respawn or relog.
  • Camera flickers / extreme zoomed-in close-up as a beast, fine when paused — fixed from 0.4.1 on (look for CameraCompat: active in the log). If it still happens, tell us which camera or FOV mod you use.

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.

CHANGELOG

Changelog

0.4.2 — 2026-09-18

  • The Beast menu shows proper names again instead of codes like BeastRacefoxName or BeastMenuBaseColor, in every language BeastTribes ships.
  • Your colours now reach the dragon's wing membrane (only the wing arms changed before) and the female lynx's body, which ignored the chosen colours entirely (BeastTribes 1.2).
  • Optional: the female dragon can take the four colour zones too, using the male dragon's colourable skin. Turn it on in the mod's settings if you want it (BeastTribes 1.2).
  • With tail physics enabled, the dragon's folded wings now move with inertia on the ground: they lag behind when you run, turn or jump and settle when you stop. Flying is unchanged. Own sliders under "Wing chains" (BeastTribes 1.2).

0.4.1 — 2026-09-18

  • The camera no longer goes crazy when you become a beast while a camera mod such as Customizable Camera is installed. The view used to flicker between a normal picture and a smeared, extremely zoomed-in close-up of the ground (a greenish mess over the whole screen), and only looked right while the game was paused or as a Viking. Camera mods now keep control of the zoom, and the fox's and dragon's own flight zoom still works when you fly.
  • With Customizable Camera installed, the camera no longer flickers while a fox or dragon is flying.
  • Dragon tails no longer bend sideways at the base when you stand still with tail physics enabled (BeastTribes 1.2). The tail's body colliders now follow your character's real pelvis and thighs, also after switching species, and the dragon's tail is no longer thrown around in flight.
  • Fox, wolf, cat and other furry tails now hang from the base instead of always sticking straight out of the back: an oversized body collider was holding the first tail bone up.

0.4.0 — 2026-09-18

  • Tails are free to wag again (BeastTribes 1.2). The 1.2 models came without any tail or ear physics, so every tail hung like a wooden plank glued to the hips. Turn on TailPhysics in the mod's settings (F1 in game) and tails swing, lag behind when you run and settle when you stop; ears twitch with your head movement and hold their pose when you stand still. Off by default; nothing changes for BeastTribes 2025.11.1, whose tails already worked.
  • Every physics parameter is tunable live from the settings menu, separately for tails and ears, including how firm the base is compared to the tip.

0.3.0 — 2026-09-18

  • Flying dragons no longer flicker next to Better Archery: while BeastTribes' flight animation controller is active, Better Archery's crouch-bow-draw overlay is held back from re-taking the Animator. Automatic when both mods are installed; nothing changes for anyone else. Other animation-overriding mods are still not covered for the flight case.
  • New MenuTargetFix module: the Beast menu (B) now always acts on your character. BeastTribes bound it to whichever player object appeared last, so in multiplayer it could open on another player's controller (species buttons did nothing in 2025.11.1) and, once that player or your own dead character was destroyed, on a dead controller: a menu that opens but ignores every click, cannot be closed and leaves the input blocked until you relog. The module also ignores the hotkey while you are dead and respawning, removes menu panels orphaned by a death (releasing the stuck input block) and silences the NullReferenceException flood from MenuBeastPreview during the respawn screen.
  • New RespawnRestore module: a species picked in the Beast menu was never saved with the character (BeastTribes equips a copy that never enters the inventory), so every login and every respawn started as a Viking. After each spawn the shim now re-equips the species named in BeastTribes' own config, from the inventory if a crafted item is there, otherwise by having BeastTribes create it again. Pick "none" in the Beast menu to stay a Viking.
  • Both modules are on by default and inert while nothing is wrong; MenuTargetFix.Enabled and RespawnRestore.Enabled in the config turn them off.

0.2.0 — 2026-09-16

  • New AnimatorCompat module: stops BeastTribes 1.2.0 from replacing another mod's animation controller with its own default one, which caused an A-pose flicker several times a second next to mods such as Better Archery 2.0. Automatic; does nothing when no such mod is installed. Config toggle AnimatorCompat.Enabled (default on) exists only for troubleshooting.
  • Known limitation: with such a mod installed, the dragon's flight animation still fights that mod for the controller while airborne (A-pose flicker only while flying). To be addressed later.

0.1.0 — 2026-09-16

First release.

  • Repairs BeastTribes' three methods broken by Valheim 1.0.12 (MessageHud.ShowMessage and SEMan.AddStatusEffect gained optional parameters): endless loading screen fixed, species bodies attach again.
  • Works with BeastTribes 2025.11.1 (BeastTribes-Originals.dll) and 1.2.0 (BeastTribes.dll) from a single DLL; nothing is hard-coded to method names.
  • Config: TargetPluginGuids, VerboseLog.