EnhancedValheimVRM
Enhanced VRM avatar support for Valheim.
About this mod Author’s original text
EnhancedValheimVRM
Join our discord if you need help or just want to chill.
dont copy the settings from ValheimVRM over. Start from settings_Example.txt.example and only add back what you actually need. offsets work differently now and most avatars should need a lot less tuning.
Notes
If the model has MToon shaders you should not have ssao on, this is true even if you do not have MToon stuff enabled in the settings. You can set AttemptTextureFix to true, it will convert shaders to standard at game runtime.
How to install
install it with r2modman (or the app), it pulls in BepInEx for you.
First time install
- run the game once. the mod makes a folder called EnhancedValheimVRM inside your valheim install folder, next to valheim.exe, and puts the example files in it.
- copy settings_Example.txt.example and name it after your character, E.G. settings_Midnight Nova.txt
- drop your vrm in the same folder with the same name, E.G. Midnight Nova.vrm
Settings File
The name of the character in the game needs to correspond to a VRM and settings file like so.
Character: Midnight Nova \
Settings File: settings_Midnight Nova.txt \
VRM: Midnight Nova.vrm
Default Settings and avatar for people you do not have custom stuff for.
Settings File: settings____Default.txt \
VRM: ___Default.vrm
NOTE: settings____Default.txt has 4 underscores, and ___Default.vrm has 3.
Whats in the settings file
settings_Example.txt.example has everything with comments, but the short version.
- ModelScale, ModelBrightness, UseMToonShader, AttemptTextureFix, KeepAllBlendShapes, EnablePlayerFade, FixCameraHeight \
the model stuff. AttemptTextureFix converts the textures to the games shader so it gets lit like everything else (and ssao works). \
ShaderForTextureFix picks the game shader it converts to, player (default, the normal character shader) or creature (the animal shader). \
TextureFixEmission (0 to 1) makes the avatar glow a bit with its own colors so it does not go black in shadow. only works with creature. 0.15 default.
- RightHandItemPos / LeftHandItemPos / RightHandBackItemPos / LeftHandBackItemPos and the matching *Rot ones \
nudge where weapons sit. Pos is in meters along the sockets axes and scales with the avatar height, Rot is euler degrees.
- weapon lines, see the next section.
- SittingOnChairOffset \
seated offset: X right, Y up, Z forward. Scales with avatar height.
- HelmetVisible, HelmetScale, HelmetOffset \
vanilla helmet on or off and where it sits.
- ChestVisible, ShouldersVisible, UtilityVisible, LegsVisible \
show the vanilla armor on top of the vrm. off by default because it usually looks wrong.
- SpringBoneStiffness, SpringBoneGravityPower \
multipliers on what the vrm author set. 1.0 = leave it alone.
- SpringBoneImmobile, SpringBoneImmobileType \
same as Immobile on a physbone. 0 to 1, how much of your movement the hair, fur, tail and so on ignore. turn it up if things get pulled way out of place when you run. 0 = off. \
a name in front does one spring group only, SpringBoneImmobile=Neckfloof,1 \
the name is the spring bone comment from unity (a part of it is enough) or its root bone. \
SpringBoneImmobileType is World (only ignores you moving around, the animation still moves them) or AllMotion (ignores the animation too). \
does nothing on a spring group that has a center set in the vrm.
- SpringBoneMaxAngle \
same as the angle limit on a physbone. how many degrees hair, ears, tails and so on can swing away from where they rest. 0 = off, a vrm 1.0 avatar then keeps any limits it was exported with. \
a name in front does one spring group only, SpringBoneMaxAngle=Ears,18, same names as SpringBoneImmobile.
- InteractionDistanceScale \
how far you can reach, small avatars might want a bit more.
- AllowShare \
false means other people do not get your avatar. you still get theirs.
Moving specific weapons
The Pos/Rot lines above move everything in a slot. If only one kind of weapon sits wrong you add a line for i
Install & use Install: BepInEx plugin
- The archive from playbuff is the mod itself — usually a BepInEx plugin (a .dll or a plugin folder once unzipped).
- Recommended: use a community mod manager (such as r2modman) — pick this game, import the mod, and the manager sets up BepInEx and its dependencies for you.
- Manual route: install the BepInEx loader in the game folder, then drop the unzipped .dll or plugin folder into BepInEx/plugins/.
- Launch the game — the BepInEx console logs every plugin it loads; seeing this mod in the log means it is installed.
Mods with listed dependencies need those installed too, or they will not load. Options are usually changed in-game or in the plugin's config file. In multiplayer, the host and every client need the same mods installed.
Install these first, or the mod will not work: