Skip to content

Customising

trippy edited this page Oct 26, 2026 · 1 revision

Customising

Fish, bait, rods, hooks and buffs

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.

Custom models

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:

  1. <name>.bundle
  2. A prefab called <name> inside any .bundle in the folder, so all your baits can share one bundle
  3. <name>.obj with an optional <name>.png texture

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.png in the folder becomes that item's icon.
  • Otherwise the icon is rendered from the model.

Animated fish

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 optionally Flop, and optionally a float parameter Speed that scales them. A legacy Animation component 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.

Rigged rods

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), and Reel.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.

Translations

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).

Clone this wiki locally