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.
By hell_yeah
| Date uploaded | 2 days ago |
| Version | 1.8.1 |
| Download link | hell_yeah-MapDestruction-1.8.1.zip |
| Downloads | 973 |
| Dependency string | hell_yeah-MapDestruction-1.8.1 |
This mod requires the following mods to function
bonelib-BoneLib
A BONELAB mod for making life easier for other mod creators.
Preferred version: 3.1.4README
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.
CHANGELOG
Changelog
1.8.1
- Polished broken surfaces so they no longer look low-poly:
- Removed the regular pyramid pattern inside craters. Cross-sections now have natural, irregular relief with ridges where fractured faces meet.
- Textures inside craters no longer stretch into streaks. Each face is projected along its own direction.
- Only real edges (over 45 degrees) are shaded sharp. Everything else is smooth.
- The bright jagged band around hole rims is gone. The rim lip now faces sideways, is lit like a broken edge, and continues the wall texture.
- Chipped flakes around rims have rounded, irregular outlines instead of square steps.
- Exposed rebar is now matte, dark rust instead of looking like shiny glass tubes.
- Damage amounts, collision and performance are unchanged.
1.8.0
- Breaks now look rough instead of round and smooth:
- Material breaks off in angular chunks, so crater outlines are jagged instead of circular.
- Brittle materials blow out wider at the surface, in a cone shape.
- Crater rims are chipped, with shallow flakes missing around the edge.
- Exposed cross-sections have fine relief and sharp fractured edges.
- Each material breaks its own way:
- concrete: medium chunks
- rock: large, coarse chunks
- brick: flat, horizontal pieces
- plaster: thin, wide flakes
- wood: long splits along the grain
- Collision stays smooth, so props don't snag on the rough surface.
1.7.0
- Big stutter fix. Damaged surfaces are now subdivided only near the damage instead of across the whole 1.6 m chunk. Rebuilding a damaged wall section went from about 230 ms to about 3 ms in testing, with no gaps.
- Collision meshes for damaged areas are much lighter, so physics cooking is faster.
- Fixed glass is skipped entirely, so hitting a window no longer damages the wall next to it.
- The profiler now logs single-frame spikes, plus the maximum frame time and spike count.
1.6.2
- Thick walls can now be dug all the way through. Hits past the middle of a wall were wrongly rejected as "not map geometry".
- Digging deeper no longer slows down. The bottom of a hole now breaks like a fresh surface.
- Deep hits now produce chips, debris and sound in proportion to what they remove.
1.6.1
- Fixed grabbable doors getting stuck. Objects on joints or with grips are no longer treated as map geometry.
- Fixed see-through holes and parts falling off machines. Fixed glass was being carved away meters at a time.
- Crack decals are now off by default. Turning them off clears the existing ones.
- Performance:
- Light scraping contacts are pooled into one impact.
- Impacts at the same spot are merged.
- Collision mesh updates are batched.
- Physics cooking is faster.
- Only chunks that actually changed are rebuilt.
- Small debris no longer casts shadows.
- Debug logging is turned off once.
- Added a built-in profiler. When the game runs slow it logs where the mod spends its time, and the menu status shows the mod's time per frame.
1.6.0
- Reorganized the BoneMenu into Presets, Destruction, Effects and Advanced pages.
- Added a live status line and a menu logo.
- Repair Level now asks for confirmation first.
- Added presets: Realistic, Arcade, Performance and Ultra. Values in the menu update right away.
- Added automatic performance scaling. When frame time stays above about 13.9 ms, debris, dust and physics chunks scale down to 60% and then 35%. They recover when frames are fast again, and slow motion is ignored.
- Added controller haptics on breaks.
- Added in-game notifications for:
- level ready
- first-run indexing progress
- presets
- repairs
- safety shutdowns
- LabFusion servers
- Verified against BoneLib 3.2.2.
1.5.0
- Added flying chips that settle as rubble and drop again when the floor beneath them breaks.
- Added material-tinted dust and metal sparks.
- Added spreading cracks that grow with repeated hits.
- Added exposed rebar inside deep concrete damage.
- Physics debris that comes to rest now stays as rubble.
1.4.1
- Fixed wrong texture scale and placement on some surfaces. Simplified fallback visuals are now off by default.
- Terrain and very large meshes can break. They are prepared in the background so the game doesn't stutter.
- Added support for LZMA-compressed asset bundles.
1.4.0
- Locked meshes are now read from the game's asset files, so they break with their original look.
- Already damaged spots, including deep craters, can be hit again.
1.3.2
- Fixed a crash when reading locked meshes from GPU memory. That path is now off by default.
- Added a guard that turns a risky feature off automatically if the game closes during it.
1.3.1
- Complex objects without readable meshes are left intact instead of breaking with a blocky look.
- Their colliders are protected, so there are no invisible holes.
1.3.0
- Small objects (poles, trees, signs, thin columns) topple when cut through.
- Improved fallback visuals.
1.2.0
- Added fallbacks for surfaces whose meshes can't be read directly.