Repository navigation
Customising
These are defined in Fish.json, Baits.json, Rods.json, Hooks.json, Tackle.json (weights and leaders) and Buffs.json in
BepInEx/config/ValheimDeepWaters/. They're created on first run, and your edits are never overwritten. When
an update adds new fish, bait, rods, hooks or buffs, they're added to your files automatically (each one only
once, so an entry you delete stays deleted). Delete a whole file to get its defaults back.
The mod's own models ship in a Models folder beside its DLL in BepInEx/plugins. To use your own, put model files in BepInEx/config/ValheimDeepWaters/Models/ (create the folder); a file there replaces the shipped one of the same name:
| Name | Model for |
|---|---|
rod or rod_<id>
|
Rods (one shared model, or one per rod) |
bobber |
The float |
bait_<id> / hook_<id> / fish_<id>
|
That item (fish models also swim in the world) |
pickable_worm |
Wriggling soil |
fly |
Flies (without one, Valheim's own flies effect is used) |
The mod looks for each model in this order:
<name>.bundle- A prefab called
<name>inside any.bundlein the folder, so all your baits can share one bundle -
<name>.objwith an optional<name>.pngtexture
Build bundles with Unity 6000.0 and turn on Read/Write for the model.
Sizing: every model is used at exactly its size in Unity - 1 unit = 1 metre, the mesh times every transform in its prefab (the root included). Nothing is resized, so build each model at the size you want it in game: model in metres in Blender (Metric, Unit Scale 1), apply all transforms, export FBX with Apply Scalings "FBX All", -Z Forward, Y Up and Apply Transform, and import in Unity with Scale Factor 1 and Convert Units on. Face models forward along +Z. With debug logging on (see Troubleshooting), the log shows each model's final size in metres.
Icons:
- A
<name>_icon.pngin the folder becomes that item's icon. - Otherwise the icon is rendered from the model.
A fish model can be rigged and animated instead of static. Make it a prefab in a bundle, like any other model, with:
- a skinned mesh (an armature: a spine chain of 4-6 bones from head to tail, plus fins if you like), modelled at real size and facing forward along +Z
- an Animator (Rig: Generic) whose controller has states named
Swim(default, looping),Thrash(looping) and optionallyFlop, and optionally a float parameterSpeedthat scales them. A legacyAnimationcomponent with clips of those names works too.
The mod then uses the whole prefab: it swims in the world (faster as it moves), darts at your bait when it
nibbles, thrashes when it runs and leaps on the line and swims slowly when it rests, flops when dropped on land,
and holds still as a trophy. Missing clips fall back to Swim, and static models keep working as before, so
fish can be animated one at a time. Model it at its real size: it is used exactly as big as it is in Unity.
A rod model can have a skeleton so it bends and its reel turns. Make it a prefab in rod.bundle (or
rod_<id>.bundle) with a skinned mesh and these bones (any you leave out just don't move):
-
Rod.1..Rod.N: a chain up the blank from just above the reel to the tip. Most of the bend goes to the top segments, like a real blank. -
Rod.Tip: where the line leaves the rod. The line follows it as the rod bends. -
Rod.BendDir: a marker beside the tip, on the side the rod bends toward (the guide side). -
Reel.Spool: the part of the reel that turns (the crank and drum), andReel.Axis, a marker along its axle.
No Animator is needed: the mod poses the bones itself. The rod bends toward the line, harder as a fish pulls toward the breaking point. It flexes back as you wind up a cast, whips forward on release and springs back when the line snaps. The reel winds in while you reel and spins backward as line pays out.
Run vdw_debug tokens, translate the file it writes, and save it as
Translations/<Language>/vdw.json inside the mod's folder in BepInEx/plugins (any folder named Translations there works).
Valheim: Deep Waters - source and issues - changelog