SADmodelfix

v1.3.2·Updated 2026-06-04

Fixes broken mod models at runtime: convex MeshColliders, spawn bounds, center of mass, volumeType. Also suppresses PhotonView IPunObservable spam and LocalizedString empty-table errors.

About this mod Author’s original text

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 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.PlayLoop spam, 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

Install & use Install: BepInEx plugin

  1. The archive from playbuff is the mod itself — usually a BepInEx plugin (a .dll or a plugin folder once unzipped).
  2. Recommended: use a community mod manager (such as r2modman) — pick this game, import the mod, and the manager sets up BepInEx and its dependencies for you.
  3. Manual route: install the BepInEx loader in the game folder, then drop the unzipped .dll or plugin folder into BepInEx/plugins/.
  4. Launch the game — the BepInEx console logs every plugin it loads; seeing this mod in the log means it is installed.

Mods with listed dependencies need those installed too, or they will not load. Options are usually changed in-game or in the plugin's config file.

Dependencies

Install these first, or the mod will not work:

BepInEx-BepInExPackZehs-REPOLib

File & checksum

Filename
SADmodelfix-1.3.2.zip
File size
114.2 KiB