SADmodelfix
Fixes broken mod models at runtime: convex MeshColliders, spawn bounds, center of mass, volumeType. Also suppresses PhotonView IPunObservable spam and LocalizedString empty-table errors.SADmodelfix
A BepInEx plugin for R.E.P.O. that automatically fixes common issues in community mods — broken physics colliders, wrong spawn bounds, incorrect center of mass, and misclassified object sizes — all at runtime, without touching the original mod files.
What it fixes
| Fix | What it does |
|---|---|
| MeshCollider | Enables convex mode on non-convex MeshColliders so objects fall and rotate with the correct shape (not like invisible cubes) |
| RoomVolumeCheck | Recalculates the spawn AABB pivot and size so objects actually spawn in rooms instead of clipping through walls or floors |
| Center of Mass | Moves Rigidbody.centerOfMass to the geometric center of all colliders so objects don't spin wildly when grabbed |
| VolumeType | Auto-classifies Tiny / Small / Medium / Big / Wide / Tall / VeryTall based on real mesh bounds so objects end up in the correct loot pool |
| Hierarchy Check | Detects mesh renderers incorrectly placed on the prefab root (experimental, off by default) |
| PhotonView Fix | Removes non-IPunObservable components from PhotonView.ObservedComponents — stops thousands of Photon error spam lines per session (e.g. ChargingStation, Minecraft items) |
| Localization Fix | Suppresses ArgumentException: Empty Table Reference spam from mods that register items with an empty LocalizedString table |
| SillyValuables Fix | Preloader patcher that rewrites SillyValuables.dll on disk to fix MissingMethodException: void .Sound.PlayLoop(bool,single,single,single) spam — grenade/throw sounds in SillyValuables now work correctly |
Installation
Install via Thunderstore Mod Manager or Gale — no manual steps required.
Manual: drop REPOModelFixer.dll into BepInEx/plugins/REPOModelFixer/.
Configuration
All fixes can be toggled in BepInEx/config/mrnak.REPOModelFixer.cfg:
FixMeshColliders = true (default: true)
FixRoomVolumeCheck = true (default: true)
FixCenterOfMass = true (default: true)
FixVolumeType = true (default: true)
CheckHierarchy = true (default: true)
FixHierarchy = false (default: false — experimental)
FixPhotonViewObservers = true (default: true)
FixEmptyLocalizationTable= true (default: true)
VerboseLogging = false (default: false)
BlockList = (comma-separated prefab names to skip)
Compatibility
- R.E.P.O. v0.4.4+
- BepInEx 5.4.23+
- REPOLib 4.1.0+
- Works alongside all existing mods — only patches, never replaces
Changelog
1.2.0
- SillyValuables compatibility patcher: fixes
MissingMethodException: void .Sound.PlayLoopspam, grenade/throw sounds now work
1.1.0
- PhotonView observer fix, LocalizedString error suppression, VolumeType improvements
1.0.0
- Initial release
- Convex MeshCollider fix (shape-accurate physics)
- RoomVolumeCheck bounds recalculation
- Center of mass correction
- VolumeType auto-classification
- Harmony hooks on REPOLib Valuables / Enemies / Items + fallback director patches
