


A lightweight, client-side Valheim mod that draws the predicted flight path of your arrow/bolt in real time while you draw a bow (or aim a crossbow), ending in a marker where it's predicted to land.
It reads the real launch values from the game each frame (draw strength, projectile speed, gravity, drag) and simulates the exact same physics the projectile uses, so the line matches where the arrow will actually go.
Start Default) so the profile's BepInEx folders are generated.BowTrajectory.dll into the profile's plugins folder:
%APPDATA%\r2modmanPlus-local\Valheim\profiles\<ProfileName>\BepInEx\plugins\
(or import it via r2modman's Import local mod).If you build from source (below), the build copies the DLL into your profile automatically.
r2modman only lists mods that were installed through it. To have it appear and be managed (recommended), import the packaged zip:
dotnet build -c Release -t:Package (produces dist\BowTrajectory-<version>.zip).Start Default.Do not also drop the loose DLL into BepInEx\plugins\ when using the imported version, or BepInEx will see the plugin twice (duplicate GUID) and skip loading it.
Settings live in the BepInEx config file and can also be edited live with a config manager mod. File location:
%APPDATA%\r2modmanPlus-local\Valheim\profiles\<ProfileName>\BepInEx\config\dev.modded.bowtrajectory.cfg
| Section | Key | Default | Description |
|---|---|---|---|
| General | Enabled |
true |
Master on/off. |
| General | ToggleKey |
B |
Hotkey to toggle the preview in-game. |
| General | MinDrawPercent |
0.05 |
Only show the bow path once the draw passes this fraction (0-1). |
| General | ShowForCrossbows |
true |
Also show the path while aiming a crossbow. |
| General | StopAtCharacters |
true |
If true, the path and impact marker stop on creatures/animals/players too, not just terrain/structures. Set false to let the line pass through characters. |
| Appearance | StartColor |
white | Line color near the bow. |
| Appearance | EndColor |
red | Line color near the impact point. |
| Appearance | LineWidth |
0.06 |
Line width (meters). |
| Appearance | ShowImpactMarker |
true |
Show a ring where the arrow is predicted to land. |
| Appearance | ImpactColor |
red | Impact ring color. |
| Appearance | ImpactMarkerSize |
0.5 |
Impact ring radius (meters). |
| Advanced | MaxPoints |
400 |
Max simulated points along the path. The simulation always uses the game's live physics timestep so the arc matches the real arrow. |
Each frame, while a bow/crossbow is drawn, the mod:
Attack.GetProjectileSpawnPoint).m_projectileVel/m_projectileVelMin and the current draw percentage via the bow's m_drawVelocityCurve (plus any bonus from the selected ammo).m_gravity/m_drag from the arrow's projectile prefab.Projectile.FixedUpdate (vel += down * gravity * dt, quadratic drag, pos += vel * dt) at the game's live Time.fixedDeltaTime, raycasting each segment against terrain/structures until it hits something.LineRenderer and places the impact ring at the first hit.