This package has been deprecated and may no longer be maintained. We recommend looking for an alternative.
GunTweaker
GunTweaker lets you tweak the settings of any gunBloodLab BONELAB Mod
Quick install
- Build
build/BloodLabMod.csprojinRelease. - Copy
build/build_out/net6.0/Bloodworks_RagdollCompatible_Bonelab.dllinto BONELAB'sMods/folder. - Launch BONELAB with MelonLoader installed.
This version generates its blood decals, droplets, and puddles at runtime, so no prefab setup is required.
This repository contains a MelonLoader-compatible BONELAB mod implementing a realistic blood and bleeding system.
Files are in ModSource/ and are ready to be compiled into a Unity/MelonLoader mod DLL.
Key features implemented in code:
- Impact blood particles and physics droplets
- Persistent wounds attached to body parts
- Realistic bleeding over time
- Physics-based droplets that create puddles
- Wall splatters (decals)
- Weapon and player blood tracking
- Object pooling and configurable limits
Build & MelonLoader setup:
- Create a Unity project (2020.3 LTS or compatible with BONELAB modding workflow).
- Copy
ModSource/*.csinto anAssembly Definitionor compile into a DLL using a C# project targeting the game's runtime. - Add MelonLoader and required references (UnityEngine.dll, UnityEngine.CoreModule.dll, etc.) to the build.
- Build the project in
Release. - Place the produced DLL into BONELAB’s MelonLoader
Mods/folder.
Plug-and-play notes:
- The current mod version generates blood decals, droplets, and puddles at runtime.
- No external
BloodPrefabs/resources are required. - The final DLL output is
build/build_out/net6.0/Bloodworks_RagdollCompatible_Bonelab.dll.
Compatibility:
- Works alongside an existing ragdoll mod because it only detects impacts and triggers blood effects.
- It does not modify ragdoll joints, physics, or transforms.
Integration notes:
HookManager.OnEntityHit(...)is the central integration point. Call it from BONELAB's damage handlers for bullets, melee, explosions, and environmental damage.- Use
BodyPartIdentifier.Identify(root, hitTransform)to guess a body part. - For player bleeding, call
PlayerBloodManager.AddWound(playerTransform, localPos, normal, damage, bodyPart).
Configuration:
- A
BloodLabModConfig.jsonis created in the game's data path on first run. Edit it to adjust multipliers and performance limits.
License: Use and adapt freely for personal modding. Credit is appreciated.
