Please disclose if any significant portion of your mod was created using AI tools by adding the 'AI Generated' category. Failing to do so may result in the mod being removed from Thunderstore.
VRM Fixes
Spring-bone clone repair, profile-local avatar packs, avatar wardrobe and soft body physics for EnhancedValheimVRM 1.x, with runtime hook checks.
By Neodin
| Date uploaded | 5 days ago |
| Version | 1.1.5 |
| Download link | Neodin-VRM_Fixes-1.1.5.zip |
| Downloads | 237 |
| Dependency string | Neodin-VRM_Fixes-1.1.5 |
This mod requires the following mods to function
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.2350README
VRM Fixes
Client-side fixes and packaged avatars for EnhancedValheimVRM 1.x.
- Restores VRM 1.0 spring-bone references lost when the loader clones an avatar. Hair and other authored spring chains can animate again.
- Loads named avatars from model packages installed in the current mod-manager profile.
- Keeps each avatar's model and settings together. An explicitly packaged character takes priority over an older manual copy.
- Corrects Paws of the Bear orientation and left-cuff stretching on Dark Urge and Sigrid with EnhancedValheimVRM 1.3.1. This uses avatar metadata, so all their character-name mappings receive the fix.
- Wardrobe: garments built into an avatar follow the helmet, chest and legs armor you wear, and change with the item's quality level. An avatar can also sink its skin under a shown garment (
Mask_<garment>shape keys) so it cannot poke through. Other players with this version see your levels too; a wearer without it is shown at the lowest level. - Breast physics for Sigrid and Dark Urge: soft, bounded motion when running, jumping, stopping and turning; they swing out a little in strikes, and are firmer under a chest garment.
- Glute physics (second plugin in this package): a small, firm push and return on jumps, landings, stops, turns and strikes, for avatars that carry glute bones (Sigrid and Dark Urge from Nordic Avatars 1.1.5).
Settings
In BepInEx/config, file local.valheim.vrm1springclonefix.cfg:
[BreastPhysics] Enabled(restart after changing) andAmount(0-1.2).[Wardrobe] GiveTestGarments(off by default): gives one item of every garment level the avatar has, once per level and character. It spawns items, so use it for testing only.
File local.valheim.nordicglutephysics.cfg: [GlutePhysics] Enabled, Preset (light, visible, strong; default visible; read when the avatar loads) and Amount (0-1.5, live).
Install
Install with dependencies in r2modman or Thunderstore Mod Manager, then fully restart Valheim with Start modded. Install an avatar package such as Neodin-Nordic_Avatars as well.
For a local ZIP, use Settings > Profile > Import local mod. Local import does not download dependencies: install denikson-BepInExPack_Valheim and Rawrtastic-EnhancedValheimVRM 1.x from Online first. Minimum package dependency versions are listed in the manifest.
If you previously installed the manual Enhanced VRM1 Spring Clone Fix 1.0.0, BepInEx selects the newer VRM Fixes because both use the same plugin identifier. Backing up and removing the old DLL is optional cleanup, not an installation requirement. Removing it also prevents the old fix from becoming active if VRM Fixes is disabled.
Behavior
- Install the same avatar packs on every player's client, including the host. This works with locally hosted worlds; this plugin does not add network transfer of avatars.
- Characters are matched by their Valheim character name, not their Steam name.
- Packaged VRM/TXT files stay in the profile. Other manually installed characters continue to use EnhancedValheimVRM's normal lookup.
- Restart the game after installing, updating, enabling or disabling a pack.
- The version gate admits the entire 1.x family, including 1.3.0, and rejects other major versions. Required methods and fields are checked before patching. A future incompatible upstream API can still disable the affected hooks with an error in the BepInEx log; accepting a version number is not a guarantee about future code changes.
___Defaultavatar replacement and in-game generation of outfit files for packaged avatars are outside this release. Existing packaged outfits may be supplied by a pack author.- The Paws correction targets only
FistBjornClawand theDark Urge/Sigridmodels. Other avatars and items retain upstream behavior. This private equipment hook is enabled only on EnhancedValheimVRM 1.3.1; other 1.x versions still receive the existing spring and avatar-pack support.
For avatar-pack authors
Place the following under plugins/ in a standard Thunderstore ZIP:
plugins/
avatar-pack.json
models/
Example.vrm
settings_Example.txt
{
"schemaVersion": 1,
"packId": "YourTeam-YourPackage",
"avatars": [
{
"character": "Example",
"model": "models/Example.vrm",
"settings": "models/settings_Example.txt"
}
]
}
Use relative paths confined to the pack. Optional outfits names a matching outfits_Example.txt. Declare Neodin-VRM_Fixes-1.1.2 as a dependency for the 1.x version policy, or Neodin-VRM_Fixes-1.1.5 if the avatar has wardrobe garments (Garment_<ItemPrefab>_Q<level> meshes, Mask_<garment> skin shape keys with KeepAllBlendShapes=true in the settings) or glute bones. Existing packs retain the same format. Two packs must not claim the same character name; duplicate claims are rejected instead of selecting an arbitrary winner. Never include game saves or copies of game/Unity libraries.
The runtime source is included in plugins/source. The upstream loader remains a separate dependency. This package is independently maintained by Neodin.
Credits
EnhancedValheimVRM by Midnight Nova / Rawrtastic; BepInEx; Harmony; UniVRM. Fixes and packaging by Neodin.
CHANGELOG
1.1.5
- Avatar wardrobe: mesh nodes named
Garment_<ItemPrefab>_Q<level>inside the avatar VRM follow the worn chest and legs items. The highest authored level not above the item quality is shown; all garments are hidden when nothing matches. - Each player publishes the quality of the worn helmet, chest and legs items (
NordicHelmetQuality,NordicChestQuality,NordicLegQuality), so other players with this version see the same level; a wearer without this version is shown at the lowest level. - Test option
[Wardrobe] GiveTestGarments(off by default): adds one item for every garment level found in the avatar, once per level and character, as free inventory slots allow. Levels the character already carries are skipped. - Skin masks: a shape key
Mask_<garment node>on the avatar's skin meshes is set to 100 while that garment is shown and to 0 otherwise, so the skin under the garment sinks and cannot poke through. The model settings needKeepAllBlendShapes=true, or EnhancedValheimVRM drops these keys. - A garment hidden by EnhancedValheimVRM's outfit toggles (
forceRenderingOff) counts as not shown: its mask is off. - Helmets too:
Garment_<HelmetPrefab>_Q<level>follows the worn helmet the same way. - Base underwear: avatar meshes named
Underwear_*(e.g.Underwear_Thong) are hidden while a legs garment is drawn and shown otherwise, including when the legs item has no garment or the garment is hidden by an outfit toggle. A skin shape keyMask_<underwear node>(e.g.Mask_Underwear_Thong) is on exactly while that underwear is drawn, so the skin under it can sink in bent poses without a dent under clothing. Avatars with underwear but no garments get this too. - Soft breast physics for Sigrid and Dark Urge: their two VRM breast springs are replaced by a spring-damper solver that follows the chest's motion and turns (runs, jumps, stops, quick turns), with travel limits. A drawn chest garment makes it firmer (blended over 0.3 s). Config
[BreastPhysics] Enabled(restart after changing) andAmount(0-1.2); the log names each avatar it attaches to, with its parameters, and each change between clothed and bare. - Breasts swing out to the side in strikes: while the chest twists fast (300-800 deg/s, blended in over 0.06 s and out over 0.45 s) the sideways spring is softer (frequency x0.6), damped a little more (x1.2) and may travel further (limit x1.7); under a chest garment half of that. Running, walking, jumps and idle are unchanged.
- Glute physics: a second plugin in this package,
NordicGlutePhysics.dll(local.valheim.nordicglutephysics0.3.0). Avatars that carry the bonesGlute_L,Glute_L_Thigh,Glute_R,Glute_R_Thighget a small, firm glute motion: one soft push and return on jumps, landings, sudden stops, quick turns and strikes, little in a steady run. Other avatars are not touched. Config[GlutePhysics] Enabled,Preset(light,visible,strong; defaultvisible) andAmount(0-1.5). Its source is inplugins/source/glute-physics.
1.1.4
- Extend the Paws of the Bear attachment correction to Sigrid, including her Neodin and sigrid character mappings.
- Keep the same authored-rest calibration used for Dark Urge, now calculated from each model's own skeleton. The Dark Urge correction is unchanged.
- Preserve the EnhancedValheimVRM 1.3.1 equipment-hook scope and general 1.x spring/package support.
1.1.3
- Fix Paws of the Bear attachment axes and stretched left cuff for the Dark Urge avatar on EnhancedValheimVRM 1.3.1.
- Retarget the item's own upper arms, forearms, and hands from authored rest axes; keep its finger rig, mesh, and weights intact.
- Limit this equipment correction to FistBjornClaw and VRM metadata name Dark Urge. Sigrid and other equipment keep the existing behavior.
- Preserve the general EnhancedValheimVRM 1.x support policy. Only the new equipment hook is limited to the verified upstream version.
1.1.2
- Accept EnhancedValheimVRM 1.x versions without a minor/patch allowlist, including 1.3.0.
- Keep runtime hook validation and reject other major versions. The version policy does not guarantee compatibility with future upstream API changes.
- Align the BepInEx dependency floor with the 1.x policy and strengthen instance/static hook checks.
- Preserve avatar-pack format, name mappings and spring-repair behavior.
1.1.1
- Support EnhancedValheimVRM 1.2.0 while retaining 1.1.1 compatibility.
- Fix avatar packs being ignored after updating the loader to 1.2.0.
- Preserve the existing spring-clone repair and avatar mapping behavior.
- Resolve supported loader versions explicitly and report the active version.
Changelog
1.1.0
- Package the existing spring-clone repair for mod-manager installation.
- Add profile-local named avatar packs and coherent model/settings selection.
- Retain the original manual fix's plugin identifier for migration.