MapDestruction
Destructible maps for BONELAB. Walls, floors and terrain dent, crack and break with their original textures, exposed rebar, rubble, dust and the game's own sounds. Voxel-based and VR-friendly.Map Destruction
Hit the level hard enough and it gives way. Swing a sledgehammer, throw something heavy or open fire: walls crack, floors cave in, metal dents and pillars snap. The level keeps its own textures and lighting the whole time.
Features
- Breaks the map itself, not just props. Concrete, brick, rock, plaster, wood, metal and terrain each break their own way.
- Concrete chips into craters and eventually punches through. A 20 cm wall takes two or three sledgehammer hits, and thick walls can be dug all the way through.
- Metal dents first and only tears under heavy force.
- Wood splinters, and plaster gives way easily.
- Looks like the original. Damaged surfaces are cut out of a copy of the original mesh, with the same textures, UVs and lightmaps. Newly exposed cross-sections are shaded to match.
- Rough, realistic breaks. Material comes off in angular chunks rather than round scoops. Rims are chipped, and cross-sections have irregular relief with fractured ridges, textured without stretching. Each material breaks its own way:
- concrete and rock break in chunks
- brick breaks in flat, horizontal pieces
- plaster comes off in thin flakes
- wood splits along the grain
- Real holes. Collision is rebuilt with the damage, so props fall through holes and you can climb through them.
- Things fall down. Chunks that end up disconnected drop as physics objects. Poles, trees, signs and thin columns topple when you cut through them.
- Effects:
- Chips fly off and pile up as rubble, and the rubble drops again if the floor under it breaks.
- Dust is tinted by material, and metal throws sparks.
- Optional crack decals spread from each impact and grow with repeated hits. They are off by default.
- Concrete that is cut deep enough shows a rebar grid inside.
- Game sounds. Breaking, denting and collapse sounds come from BONELAB itself. They play through the game's own 3D audio mixer.
- Haptics. The hand holding the weapon gets a hit pulse, plus a heavier knock on big breaks.
- Built for VR. All work runs on a per-frame time budget, and big meshes are prepared on a background thread. If your frame rate drops, effects scale down automatically.
Requirements
- BONELAB (PC) with MelonLoader 0.7.x
- BoneLib 3.1.4 or newer
Installation
Install with r2modman or the Thunderstore Mod Manager. To install by hand, put Mods/MapDestruction.dll in BONELAB/Mods.
First launch: the mod reads the game's asset files in the background to find the original shapes of meshes the game keeps locked. This can take a few minutes the first time and is cached afterwards (UserData/MapDestruction_meshindex.bin). Surfaces that need it start breaking once indexing finishes, and a notification tells you when.
In-game menu
Open BoneMenu and go to Map Destruction.
| Section | Options |
|---|---|
| Top | Status line (tap for stats), Enabled, Repair Level |
| Presets | Realistic, Arcade, Performance, Ultra |
| Destruction | Damage x, Min Impact, Allow Holes, Bullets Break Map, Bullet Energy, Punches Break Map, NPC Body Impacts, Falling Parts |
| Effects | Chips & Rubble, Dust & Sparks, Cracks, Rebar, Debris Amount, Rubble Time, Haptics, Sounds, Sound Volume |
| Advanced | Original Meshes, Proxy Visuals, Proxy Max Tris, Auto Performance, Notifications, Debug Log, Rescan Map, Log Stats |
Presets
| Preset | Damage | Debris | Rubble stays | Notes |
|---|---|---|---|---|
| Realistic | 1x | 1x | 240 s | Default. Based on real material strength |
| Arcade | 2.5x | 1.6x | 300 s | Lower impact threshold, stronger bullets, punches break walls |
| Performance | 1x | 0.5x | 60 s | Smaller processing budget |
| Ultra | 1x | 2x | 600 s | 7 cm voxels (from the next level load), bigger budget |
All settings are also saved in UserData/MelonPreferences.cfg under [MapDestruction].
Compatibility
- LabFusion: works, but destruction is local only. Other players won't see your holes. The mod tells you this once when you're in a server.
- Custom maps: static level geometry with colliders is picked up automatically. There is no per-map setup.
- Glass: left to the game's own glass breaking. Fixed glass in the map is never carved.
- Doors, drawers and levers: anything on a joint or with a grip is ignored, so it keeps working.
Known limitations
- Holes follow a 10 cm voxel grid. Rims are cut cleanly along the original surface, but the inside walls of a hole can look slightly blocky.
- Some complex decorative meshes that the game keeps locked are left intact on purpose, so they don't break with the wrong look. They still give dust, sparks and sound.
- Transparent materials and skinned meshes are not affected.
- Destruction is not saved between level loads.
Troubleshooting
- If nothing breaks, look in
MelonLoader/Latest.logfor lines starting with[MapDestruction]. The first impacts on each level are logged with the reason when something can't break. - Turn on Advanced → Debug Log for per-object details.
- Log messages from this mod are written in Korean. The in-game menu and notifications are in English.
- When the game runs slow, the mod logs how much time it spent per frame and in which part. Include those lines when you report a performance problem.
- If the game ever closes while the mod is calling a risky engine function, the mod turns that feature off on the next launch and shows a notification.
- Repair Level restores the whole level at any time.
