Please disclose if any significant portion of your mod was created using AI tools by adding the 'AI Generated' category. Failing to do so may result in the mod being removed from Thunderstore.
Fysik
Structural physics for building. Shape matters: arches carry load in compression, triangulated trusses stay rigid, cantilevers bend. Replaces vanilla support with a frame solver; overloaded pieces crack before they fall. Work in progress.
| Date uploaded | a day ago |
| Version | 0.1.5 |
| Download link | menezesbruno-Fysik-0.1.5.zip |
| Downloads | 39 |
| Dependency string | menezesbruno-Fysik-0.1.5 |
This mod requires the following mods to function
denikson-BepInExPack_Valheim
BepInEx pack for Valheim. Preconfigured with the correct entry point for mods and preferred defaults for the community.
Preferred version: 5.4.2351ValheimModding-Jotunn
Jötunn (/ˈjɔːtʊn/, 'giant'), the Valheim Library was created with the goal of making the lives of mod developers easier. It enables you to create mods for Valheim using an abstracted API so you can focus on the actual content creation.
Preferred version: 2.30.2README
Fysik
Structural physics for Valheim building. In vanilla Valheim, a piece only cares about how far it is from the ground. With Fysik, the shape of your build matters, in the spirit of Poly Bridge and Bridge Constructor.

A 24 m bridge from the building guide, every piece colored by the stress Fysik computes: the worst is at 44%, and it goes up without scaffolding. The parts list and building order are in the picture.
How it works
- Everything weighs, and the weight has to reach the ground through the pieces below. Fysik calculates the forces in every piece as you build.
- Shape matters. Arches carry their load in compression and span gaps a flat beam cannot. Braces and triangles carry load along their length instead of bending. Cantilevers bend, more the further they reach.
- Colors show the stress: blue is relaxed, green is fine, yellow is getting close, red is at the limit.
- Overloaded pieces crack before they fall: they turn red, shake and creak for a few seconds, time to shore them up. Then whatever they held comes down with them.
- Not only the pieces weigh: furniture, full chests, players walking across, a loaded cart rolling over a bridge and the snow piling up on roofs in the Deep North.
Quick start
- Back up your world, or better, start a new one (see the warning below).
- Install with r2modman or Thunderstore Mod Manager. On a server, the server and every player need Fysik, with the same version.
- Watch the ghost while building: before you place a piece, it is colored by the stress it would have. Red would break.
- Aim the hammer at a piece to read its stress (Bending 72%), its weight, the weight it holds up (Holds 6.5 t) and whether it stands on the ground (Rests on the ground).
- Press F7 for the X-ray: every piece within 40 m colored by stress (Ctrl+F7 widens it).
- When something cracks, put a post or a brace under it, or take the load off, before it falls.
- Build like a carpenter: posts every 2 to 4 m, a diagonal brace under anything that reaches out, an arch or a truss to cross a wide gap.
Worked examples, every number explained and answers to common questions are in the wiki.
⚠ Before you install
Fysik is on from the start. As soon as a world loads, every building made by players is checked against the physics Fysik applies, and buildings that do not respect it will crack and fall, including bases you built before installing it. Back up your world first. We recommend starting a new world with Fysik, so everything you build is designed for it from the first post.
Buildings that come with the world (stone towers, abandoned houses, villages, ruins) are not simulated: they keep vanilla support, unless the server sets
Structure.WorldBuildings = Physics(see Server admins in the wiki).
Status
Early access. Material values are still being calibrated. Back up your worlds before trying it.
Installation
Install with a mod manager (r2modman, Thunderstore Mod Manager) or manually:
- Install BepInExPack_Valheim and Jötunn.
- Copy
plugins/Fysik.dllintoBepInEx/plugins/Fysik/.
Fysik must be installed on the server and on every client, with exactly the same version (every player who owns part of a structure must calculate it exactly as the others do). Players without it cannot join a server that has it, and vice versa.
Existing player buildings follow the new rules as soon as the mod is enabled: back up your world,
and preferably start a new one. To look at an old base before letting it settle, set
Structure.Mode = Sandbox (nothing falls for lack of support) or DisplayOnly (vanilla decides).
Wiki
Everything else is in the wiki:
- Getting started: installing, the three modes, old bases and your first builds.
- Reading the forces: the colors, every line next to the crosshair, the X-ray, the placement preview and how cracking works.
- What weighs: pieces, furniture, piles, chests, players, carts and snow, with typical weights.
- Building guide: balconies, arches, trusses, stone bridges, snow on roofs and carts on bridges, with worked examples.
- Server admins: multiplayer, versions, world buildings, big bases and the settings worth knowing.
- FAQ: common questions, and how to send a build that behaves strangely.
- How it works: the calculation behind it.
Roadmap
Next:
- Masonry: stone blocks that only hold by pressing on each other, interlocking walls, arches built on wooden centering
Later:
- Creatures' weight (tamed lox, trolls) on bridges and floors
- Calibration with player builds (feedback welcome)
- Faster recalculation for very large bases
- Translations into every language Valheim supports
- A website to plan and test a build in the browser with the same solver
Configuration
BepInEx/config/menezesbruno.fysik.cfg. Settings marked server are enforced by the server and
synced to every client; they can also be edited in game with a configuration manager (F1).
| Section | Setting | Default | Range | Description |
|---|---|---|---|---|
| Structure | Mode (server) | Physics | Physics, DisplayOnly, Sandbox | Physics: Fysik decides what falls. DisplayOnly: vanilla decides, Fysik only shows. Sandbox: nothing falls for lack of support. |
| Structure | WorldBuildings (server) | Vanilla | Vanilla, Physics | Buildings that come with the world (stone towers, abandoned houses, villages, ruins). Vanilla: they keep vanilla support, are not simulated and show in grey; player builds rest on them as on rock. Physics: simulated like player builds. Warning: many were not built for real forces and will crack and fall when players come near, changing the game. |
| Failure | CrackWarningSeconds (server) | 5 | 0–60 | Seconds an overloaded piece stays cracked before it falls, when it is just past its limit (up to 110%); shorter the further past, none at twice its limit. |
| Failure | DamageWeakens (server) | on | Pieces below half health are weaker, down to 25% strength at the brink of breaking; rain wear alone never weakens them. Off: damage never changes strength. | |
| Structure | Difficulty (server) | Normal | Relaxed, Normal, Strict | Relaxed: materials 50% stronger (longer spans and cantilevers). Strict: 30% weaker. |
| Structure | MaxFrameBodies (server) | 2000 | 500–5000 | Largest structure solved with the full frame analysis; bigger ones use a simplified model that does not recognise arches. Higher values take longer to update (about 0.5 s for 2000 pieces, 2 s for 5000). |
| Material.<type> | Density, CompressiveStrength, TensileStrength, ShearStrength, BucklingSlenderness (server) | per material | Density (kg/m³) gives structural pieces their weight; strengths in MPa. Stone is strong in compression and weak in tension. Objects weigh their materials instead (see Weight). | |
| Weight | Wood, Stone, MetalBar, Nail (server) | 4, 10, 4, 0.1 | 0–1000 | Kilograms per item used to build an object (furniture, crafting stations, chests, torches); objects weigh their materials, not their volume. |
| Weight | PerItemWeight (server) | 2 | 0–100 | Kilograms per unit of the game's item weight, for every other material in an object's recipe. |
| Weight | LiveLoads (server) | on | Chest contents, players, carts and Deep North snow weigh on the structure. Off: only the pieces and the objects built on them (piles and stacks included) weigh. | |
| Weight | Contents (server) | 1 | 0–20 | Kilograms per unit of the game's item weight for stored items: inside chests, carts and players' inventories, and in piles and stacks (at 1, the game's weights read as kilograms). |
| Weight | Player (server) | 80 | 0–500 | Body weight of a player, kilograms; their inventory adds to it. |
| Weight | Snow (server) | 150 | 0–1000 | Weight of a full layer of Deep North snow, kilograms per square metre of ground; roofs hold less of it the steeper they are. 0: snow weighs nothing. |
| Display | HammerInfo | on | Stress color and the lines next to the crosshair for the piece under the hammer: stress, weight, weight held, what it rests on, damage. | |
| Display | PlacementPreview | on | Predicted stress and weight held on the piece being placed. | |
| Display | CollapseAnimation | on | Falling pieces come down as debris and burst on impact (off: they shatter in place, as in vanilla). | |
| Display | XRayKey | F7 | Toggles the X-ray view. | |
| Display | XRayRadius | 40 | 40–80 | X-ray radius, metres. |
| Display | XRayRadiusKey | Ctrl+F7 | Widens the X-ray radius by 10 m (after 80 m, back to 40 m). | |
| Performance | FrameBudgetMs | 1.5 | 0.25–10 | Time per frame spent on calculations. |
| Performance | BackgroundSolver | on | Solve structures on a worker thread, without taking frame time. | |
| Debug | LogSolves | on | One log line per structure solved. | |
| Debug | LogGeometry | on | One log line per kind of piece: colliders, size, weight. | |
| Debug | DumpKey | Ctrl+F8 | Writes the structure under the hammer to BepInEx/fysik-dump.txt. |
The console command fysik stats, fysik recalc, fysik dump or fysik hash (F5; the game must be
started with -console) shows solver statistics, recalculates everything, writes the structure under
the hammer to BepInEx/fysik-dump.txt or prints a fingerprint of its result, the same on every
player's game when they calculate it alike.
Compatibility
Fysik takes over structural integrity, so it is expected to conflict with other mods that change it,
such as NoBuildIntegrity, Forever Build or Balrond Better Build. Pieces added by other mods will use
conservative default material properties, with a warning in the log for each unknown material.
Their furniture and other objects weigh their recipe: Fysik knows the vanilla wood, stone, metal bars
and nails, and counts any other resource by its weight in the inventory (Weight.PerItemWeight).
Links
- Source code and issues: https://github.com/menezesbruno/Fysik
- License: MIT
CHANGELOG
Changelog
0.1.5: what holds a piece up
- The hammer says what a piece rests on: a new line, Rests on the ground, on every piece that touches something Fysik counts as ground, naming it: the ground, rock, a tree or a world building. These pieces are the foundations of a structure; a piece without the line holds only through others. The placement preview shows it too, so a foundation post tells you it really reaches the ground, and so do chests and other objects standing on the ground. A piece resting on a tree or a rock that can be mined falls if the tree is cut down or the rock mined away.
- Badly damaged pieces say how weak they are: below half health the hammer adds Damaged · 60% strength. Repairing them brings their strength back.
- Fixed a false shear in pieces where loads met exactly at their middle, such as a wall carrying the wall above it straight down to the ground: whether the two forces fell on the same side of the cut at the centre came down to rounding. A stack of 4×2 stone walls cracked at its base at about 32 m and now stands to about 100 m. The building guide's numbers do not change.
- New console command
fysik hash: aim at a structure and it prints the number of pieces, a fingerprint of the result and the most loaded piece. Two players looking at the same structure must see the same fingerprint; if they do not, their dumps show why. The dump shows the same line, gains a last column with what each piece rests on and lists every point where the structure touches the ground. - The mod page is shorter: how it works and a quick start come first, and the building guide, what weighs, server notes and the FAQ moved to the wiki.
0.1.4: players, carts, chests and snow
- Players weigh on what they stand, sit or lie on: 80 kg plus their inventory. A loaded cart weighs its materials plus its cargo, shared among the pieces under its wheels. A weak bridge creaks under a cart and gives way if the cart is too heavy or stops on it; keep moving and a bridge that is only just too weak lets you through. Whoever owns a player or a cart tells everyone which pieces it rests on, so every player calculates the same.
- What is inside a chest weighs 1 kg per unit of the game's item weight: 50 stones weigh 100 kg, 30 iron bars 360 kg, a reinforced chest full of stone about 2.4 t. Putting things in or taking them out recalculates the pieces under it, and aiming at a chest shows what it holds.
- Deep North snow weighs: a full layer is 150 kg per square metre of ground, on pieces left in the open. Roofs up to 30° steep hold 80% of it, 45° roofs 40%, and from 60° it slides off. Shovel it off, or walk across it, and its weight goes with it. Tarred roofs and the stave church pieces, which the game protects from heavy snow, hold none, nor does a world with the no heavy snow modifier. Vanilla's snow damage, which wore down exposed pieces by their distance to the ground whatever the build, is gone in Physics and Sandbox modes. The hammer shows the snow on a piece (Snow 340 kg).
- The crack warning now depends on how far past its limit a piece is: the full
CrackWarningSecondsup to 110%, half of it at 155%, none from twice the limit. Taking the load off in time (the cart rolls on, the snow is shoveled) still stops the crack. - Piles and stacks weigh what their items weigh in a chest: a stone pile went from 500 kg to 100 kg, a wood stack from 200 kg to 100 kg, a fine wood stack from 1.6 t to 100 kg, and a stack of iron bars from 125 kg to 360 kg.
- New server settings in the
Weightsection:LiveLoads(on by default; off turns chest contents, players, carts and snow off together),Contents(kilograms per unit of item weight for stored items: inside chests, carts and inventories, and in piles and stacks),Player(body weight) andSnow(kilograms per square metre of a full layer; 0 turns snow weight off). - When only the loads on a structure change, it keeps its last result while the new one is calculated, so people walking around a big base do not leave it light blue.
- The dump has two new last columns: snow and moving loads on each piece, in kilograms.
- Numbers change: floors under full chests read higher (a reinforced chest full of stone adds 2.4 t), pieces under piles of stone and stacks of wood lower, pieces under stacks of metal bars higher, and in the Deep North roofs read higher as snow builds up. Look over storage rooms and wide roofs after updating.
0.1.3: what things weigh and what they hold
- Furniture, crafting stations, lighting, decor, portals and other pieces the game tags as objects now weigh what they are made of: 4 kg per piece of wood, 10 kg per stone, 4 kg per metal bar, 0.1 kg per nail and 2 kg per unit of item weight for the rest. Their colliders were counted as solid material before: a smelter went from about 50 t to 250 kg, a hearth from 17 t to 150 kg, a bed from 672 kg to 32 kg. Pieces tagged as structure (building, floor, wall, roof, architecture, stairs, doors, stacks) keep the weight of their volume, including fences, stake walls and carved statues.
- Chests, workbenches, forges, torches, stone and wood piles and other pieces that hold nothing up used to weigh nothing. They now weigh their materials the same way, as a load on the pieces they rest on, shared among them and the ground: a stone pile 500 kg, a forge 120 kg, a chest 40 to 113 kg, a standing torch about 9 kg. Placing, moving or removing one recalculates what holds it.
- Under the stress, the hammer now shows the piece's name, material and own weight, then a line with the weight it holds up, that is whatever rests on it and everything above (Holds 6.5 t on a post of a two-storey house), and for posts, beams and logs a line with how hard they are squeezed or stretched (Squeezed 6.7 t). The placement preview shows the same for the piece being placed, so a post slid under a beam says what it will take. Aiming at a chest, torch or pile shows its name and weight. The dump has two new last columns: the weight of objects resting on each piece and the weight it holds up.
- Fysik's text next to the crosshair has its own place now, in the game's font and size, clear of the game's piece health bar and hover text instead of mixed into them.
- New server settings in the
Weightsection: kilograms per wood item, stone item, metal bar and nail, and per unit of item weight for every other material. Changing them recalculates every structure. - Numbers change: pieces under hearths, beds and other heavy furniture read lower, and pieces holding piles, forges or chests read higher. A 500 kg stone pile on a wood floor laid on beams adds about 7 points. Look over floors and cantilevers that hold stone piles after updating.
0.1.2: joints that bend like beams
- The stiffness between a piece's centre and each joint now follows beam theory: it bends, not only shears. Thin pieces such as floors are no longer as stiff as logs, so a floor laid on beams leaves the load to the beams instead of turning yellow, and beams, posts and braces carry what they really carry.
- A joint now sits at the middle of the area where two pieces touch, instead of the point nearest to one piece's centre: a floor resting on a beam is held along its edge, not by one corner, and the result no longer depends on which piece was placed first.
- Numbers change: floors read lower, beams and posts higher. In the building guide, a balcony 12 m out is now just past the limit (101%) and the tied-arch bridge has two posts at each corner.
- New bridges in the building guide: the tied arch with braced ends (no scaffolding), a truss between stone abutments, a wooden arch leaving 40 m of water clear for boats, and a 100 m crossing on stone piers. Temporary props are drawn dashed, and each picture says whether the bridge needs them.
0.1.1: world buildings
- Buildings that come with the world (stone towers, abandoned houses, villages, ruins) no longer crack and fall when you come near: they keep vanilla support, are not simulated and show in neutral grey. Player builds resting on them are held as if on rock, and are recalculated if they are destroyed.
- New server setting
Structure.WorldBuildings:Vanilla(default) orPhysics, which simulates world buildings like player builds; many of them will then crack and fall.
0.1.0: first release (early access)
Fysik replaces Valheim's structural support with a force calculation. Back up your worlds.
- Each connected structure is solved as a 3D frame, up to
Structure.MaxFrameBodiespieces (2000 by default, 500 to 5000); larger ones use a simplified model that does not recognise arches. Arches work in compression, braces and triangles carry load along their length, cantilevers bend. - Stress is shown on the piece under the hammer (color and value, e.g. Compression 72%), on the placement ghost before you place it, and on every piece nearby with the X-ray (F7; Ctrl+F7 widens the radius from 40 m up to 80 m).
- An overloaded piece cracks (pulses red, shakes, creaks and sheds dust) for
Failure.CrackWarningSeconds(5 s) before it falls, leaving time to shore it up. A piece with no path to the ground falls at once. When a piece gives way, everything it held comes down with it, animated like an imploded building, and whatever is left overloaded follows without warning. - Chests, workbenches, torches and other pieces that hold nothing up add no weight, but need something to rest on and fall without it.
- Rocks, trees and terrain count as ground and are watched: cut the tree or mine the rock a structure rests on, and it is recalculated.
- Pieces below half health are weaker, down to 25% at the brink of breaking
(
Failure.DamageWeakens); rain wear alone never weakens a structure. - Server settings:
Structure.Mode(Physics, DisplayOnly or Sandbox),Structure.Difficulty(Relaxed, Normal or Strict) and the weight and strength of each material. - Multiplayer: the player near a structure calculates it, and the server calculates nothing. The server and every client must run exactly the same Fysik version.
- Nothing falls while a structure is still loading, nor (with Voxheim) before its terrain is ready.
- Structures are solved on a worker thread, without taking frame time.
- Console command
fysik stats | recalc | dump; Ctrl+F8 writes the structure under the hammer toBepInEx/fysik-dump.txt.