Dive In
Diving underwater with configurable controls, Fast Swim, surface/midwater stamina regen, and depth drain. Configured creatures can chase and navigate underwater. Includes water combat/equipment, local
Screenshots 2 screenshots
About this mod Author’s original text
DiveIn
DiveIn adds configurable diving and swimming for players and configured creatures in Valheim.
Normally, creatures cannot follow a diving player far below the surface. DiveIn lets configured creatures chase, patrol, and attack underwater while adding player depth controls, resource tuning, water combat, key hints, and underwater visuals.
Player diving
- Ascend and descend with configurable keyboard shortcuts or the corresponding gamepad controls.
- Surface and midwater stamina regeneration are configured separately.
- Idle underwater stamina drain and moving swim drain can scale with liquid depth.
- Fast Swim supports press or toggle input, with separate speed and stamina multipliers.
- A client-side swimming HUD below the stamina bar uses the stamina number's font and size. Swim HUD Mode selects Full (ascent/descent bindings, then Fast Swim On/Off below), FastSwimOnly (status only), or Off (regular key hints, when enabled in the game). On describes the selected mode, not movement at that instant; empty stamina changes the status color without adding text. The HUD stays visible when the full stamina bar fades and works independently of vanilla Key Hints. Only the key-hint rows currently covered by the HUD are suppressed. Full keeps ascent/descent controls even when Fast Swim is unavailable.
- Swim skill and encumbrance have independent speed multipliers.
- Surface swimming retains the vanilla swim depth; DiveIn changes depth only while diving.
- Attacking, secondary attacking, and guarding temporarily take priority over swim movement.
- Player-owned underwater projectiles can use synchronized lifetime, speed, and damage multipliers on the initial launch. Child projectiles spawned by Projectile.SpawnOnHit keep the parent spawn logic's values without another DiveIn multiplier, so inherited damage and speed are not repeatedly reduced down the chain.
- Equipment is usable in water by default; a synchronized prefab blacklist keeps restrictions on listed items without propagating armor or accessory entries to hand equipment. Listed hand items retain vanilla hand-item hiding.
- Swimming key hints use the active keyboard or gamepad bindings and supported Valheim languages.
- Vanilla water color interpolation is initialized correctly across zone borders, above and below the surface. This client-side fix targets the vanilla water shader only; it does not retint the coast or change water depth, waves, buoyancy or swimming physics.
Creature diving
- Configured creature prefabs stop avoiding water and can navigate underwater.
- Passive creatures patrol within per-group minimum, center, and maximum depths.
- Alerted creatures follow targets within their active depth limits.
- Optional spawn-depth preservation prevents underwater spawns from first floating to the surface.
- Optional shallow-water flee behavior makes a creature retreat until it clears the configured depth buffer.
- Per-group avoidance steering can be disabled for prefabs that jitter with angled obstacle sampling.
- Serpent movement retains the vanilla stopping distance and swoop movement while using DiveIn depth navigation.
DiveIn.yaml
The server/source-of-truth instance creates BepInEx/config/DiveIn.yaml when it is missing. Clients use the synchronized server value while connected.
Unknown or duplicate keys are errors and keep the previous applied settings.
surface_patrol:
passive_min_depth: 0
passive_center_depth: 10
passive_max_depth: 20
active_min_depth: 0.25
active_depth_adjust_speed: 2
shallow_water_flee_depth: 0
preserve_spawn_depth: false
avoidance_steering: true
prefabs:
- Leech
- Abomination
- Serpent
- BonemawSerpent
Disable angled avoidance only for prefabs that need it.
mods_surface_nosteering:
passive_min_depth: 0
passive_center_depth: 10
passive_max_depth: 20
active_min_depth: 0.25
active_depth_adjust_speed: 2
shallow_water_flee_depth: 0
preserve_spawn_depth: false
avoidance_steering: false
prefabs:
- SA_WhiteShark
Rules:
-
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: