DropProne
Go prone in BONELAB. Drop flat, crawl under cover, stand back up. Drives the game's own crouch rig rather than teleporting your head.
By Lemmys
| Date uploaded | 16 hours ago |
| Version | 1.1.0 |
| Download link | Lemmys-DropProne-1.1.0.zip |
| Downloads | 583 |
| Dependency string | Lemmys-DropProne-1.1.0 |
This mod requires the following mods to function
LavaGang-MelonLoader
The World's First Universal Mod Loader for Unity Games compatible with both Il2Cpp and Mono
Preferred version: 0.7.3bonelib-BoneLib
A BONELAB mod for making life easier for other mod creators.
Preferred version: 3.2.1README
DropProne
Go prone in BONELAB. Click the left stick to drop flat, click again to get up.
It does not teleport your head or fake a camera offset. BONELAB already has a full crouch rig — a knee-to-pelvis joint, a crouch input, and a VertState enum that already contains a Prone value SLZ never wired to anything. This mod drives that machinery: it holds the crouch axis past its normal limit, widens the knee joint so the body can compress further, flags the rig as prone, and drops your movement speed to a crawl. Everything is snapshotted before it is touched and written back when you stand.
Controls
Default is left thumbstick click to toggle. Change it in BoneMenu → Drop Prone → Binding:
| 0 | Menu / keyboard only |
| 1 | Left stick click (default) |
| 2 | Right stick click |
| 3 | Left B button |
| 4 | Right B button |
| 5 | Left A button |
| 6 | Right A button |
| 7 | Hold crouch |
Hold crouch is the one to use if you do not want to give up a button — crouch all the way down and keep holding for 0.55s and you drop the rest of the way. Hold it again to get up.
Hold Instead Of Toggle turns any binding into a deadman: prone while held, standing when released.
C on the keyboard works too, for desktop testing.
Behaviour
- Crawl speed replaces your walk speed while down. BONELAB's
maxVelocityis 2.0, so the 0.7 default is about a third pace. Your real speed is snapshotted on the way down and restored on the way up - Drop and stand are timed blends, not snaps — 0.45s down, 0.35s up, both tunable
- You cannot go prone in mid-air, and if you leave the ground while down you stand up automatically after 0.4s
- Ragdolling stands you up so you never end up fighting the rig
- Level load resets everything
How it gets you down
Three levers, all reversible, all in BoneMenu → Drop Prone → Depth:
Crouch Drive (default −1.4) is written into the rig's crouch axis. BONELAB reports −1.0 at full crouch — the axis is negative — so prone pushes past that. Your own crouch input is never overridden downward; whichever of the two is deeper wins.
Joint Travel Bonus (default 0.35m) is added to the knee-pelvis ConfigurableJoint's linear limit, which is what actually caps compression. BONELAB ships 0.575, so the default takes it to 0.925. This value is read off the live joint and written back verbatim on stand, so the restore is exact rather than a guess.
Force Feet Offset (default on, −1.15) overwrites RemapRig._feetOffset and _crouchTarget after the game solves them. BONELAB reports about −0.75 at full crouch, so −1.15 is roughly half a crouch again below that.
There is also a SetKneePelvisLimit sub-page. That call is obviously the intended API, but the interop DLLs carry no method bodies so its argument units cannot be determined — it is off by default in favour of writing the joint limit directly. Turn it on only if you want to experiment.
Calibrating it to your rig
Avatar height and scale change all of these numbers, so the mod can measure them for you.
BoneMenu → Drop Prone → Diagnostics → Calibrate (12s). Stand fully upright, then crouch as low as the game allows, within the window. It logs:
headAboveFeet: tallest 1.62m, lowest 0.81m (travel 0.81m)
crouch: standing 0.000, crouched -1.000
feetOffset: standing -0.100, crouched -0.748
suggested Crouch Drive = -1.40
suggested Feet Offset = -1.104
Then hit Apply Suggested and it writes those in. Prone sits roughly half a crouch again below the deepest crouch your rig allows.
The other tools:
- Report Rig State dumps everything live — crouch axis, feet offset, vert state, foot support, head-above-feet, joint limits
- Watch Inputs (10s) logs every controller button you press, so you can find one BONELAB is not already using before binding to it
If anything ends up stuck, reload the level — the rig is rebuilt from scratch and nothing this mod does survives that.
Install
Requires MelonLoader and BoneLib.
Drop DropProne.dll into BONELAB/Mods/.
Notes
The crouch writes hang off Harmony postfixes on OpenControllerRig.OnEarlyUpdate / OnUpdate and RemapRig.CrouchHold rather than off MelonMod.OnUpdate, because the game rewrites those fields every frame and whoever writes last wins. If none of those hooks land, the mod falls back to writing from OnUpdate and says so in the console.
The joint is re-asserted every frame while down, since the game is free to rewrite it. Restore additionally puts back linearLimitSpring, targetPosition, yDrive and the knee-pelvis capsule's height and centre, in case the SetKneePelvisLimit path was used.
Nothing is patched destructively and no game component is disabled. Standing up stops all writes and restores every captured value.
Changelog
1.1.0 — Corrected for measured rig values. The crouch axis is negative (−1 at full crouch), so 1.0.0 was driving it the wrong way and discarding player input via Mathf.Max; feetOffset is likewise negative and the default was inverted. Depth now extends the knee joint's linear limit by an exact delta instead of guessing SetKneePelvisLimit arguments. Added Calibrate / Apply Suggested. Changed preference keys are renamed, so the new defaults take effect rather than loading stale 1.0.0 values.
1.0.0 — Initial release.