Lethal Company
Install with App

Details

Latest version
2.1.0
Last Updated
First Uploaded
Downloads
1.9K
Likes
0
Size
98KB
Dependants

Changelog

All notable changes to Weights Rebalanced will be documented in this file.

[2.1.0] - 2026-07-05

New Features

  • Global Weight Multiplier - one slider scaling all item weights at once
  • Per-Category Multipliers - separate multipliers for Scrap / Equipment / Store / Modded items
  • Display Unit selection - HUD weight counter can show Kilograms, Pounds (vanilla) or Both
  • Weights of 0 kg are now allowed (vanilla weightless items like the flashlight stay weightless)

Fixed

  • Multiplayer sync never actually fired - the host only tried to sync 2 s after StartOfRound.Start (before any client is connected) and never subscribed to OnClientConnectedCallback. Clients now receive weights the moment they connect, including late joiners.
  • Sync broke after the first lobby - the message handler was registered once per game session, but Netcode recreates CustomMessagingManager on every StartHost/StartClient. It is now re-registered for each session.
  • Client configs were overwritten on disk by the host's weights - synced values are now kept in a runtime-only override table; the local config file is never touched, so nothing can be lost on crash.
  • Wrong kg conversion factor - the game displays (carryWeight - 1) * 105 lb; the mod used * 100, so all displayed/configured weights were ~5% off from vanilla. Now uses the exact vanilla factor.
  • Changing the weight of a held item corrupted carry weight permanently - the game subtracts the CURRENT item weight on drop; the mod now adjusts every holder's carryWeight by the delta when weights change mid-game.
  • Modded item detection never worked - item.GetType().Assembly is always the vanilla assembly. Modded items are now detected through LethalLib's registration lists via reflection.
  • Presets were saved with the system locale (e.g. "12,5" on Polish systems) making them non-shareable - now always invariant culture, with backward-compatible parsing.
  • HUD weight is now updated by a postfix on HUDManager.UpdateWeightCounter (the only place vanilla writes "lb") instead of patching HUDManager.Update every frame.
  • HUD value is derived from the real carryWeight, so dead bodies and other mods' weight changes are displayed correctly.
  • Removed dead code: scan-node lb->kg patch (scan nodes never show lb and used the wrong UI type) and the DisplayNewScrapFound patch.

Technical

  • Built against BepInEx 5.4.23.5
  • Weight application centralized in WeightApplier with original-asset-weight tracking

[2.0.1] - 2026-01-10

  • Fixed manifest

[2.0.0] - 2026-01-09

Major Features

  • Multiplayer Synchronization - Host-to-client weight sync via Unity Netcode
    • Automatic sync on client connect
    • Late joiner support
    • Hot reload broadcasts to all clients
    • Original config restoration on disconnect
  • Dynamic Item Detection - Removed hardcoded item lists
    • Assembly-based vanilla vs modded detection
    • Automatic categorization (Scrap/Equipment/Store/Modded)
    • Works with any mod without updates needed
  • Preset System - Save and load weight configurations
    • Save current weights as preset
    • Load vanilla weights preset
    • Import/export for sharing with friends
    • Simple text format for easy editing
  • Hot Reload - Change weights mid-game without restart
    • Config watcher monitors changes
    • Updates all active items in real-time
    • Broadcasts to clients if host

Improvements

  • Config Validation - All weights clamped to 0.1-500 kg range
  • Enhanced Descriptions - Config shows vanilla weight and valid range
  • Safety Helpers - Comprehensive error handling and validation
  • Optimized HUD Updates - Cached inventory hash reduces CPU usage
  • Performance - Event-based patching with Update fallback

LethalConfig Integration

  • New buttons:
    • Save Current as Preset
    • Load Vanilla Weights
    • Network Sync Status
    • Diagnostic: Print Item Detection
  • Updated slider ranges with validation
  • Real-time updates without restart

Technical

  • Added ConfigValidator.cs - Weight validation system
  • Added SafetyHelpers.cs - Error handling utilities
  • Added ItemDetection/ namespace:
    • ItemClassifier.cs - Vanilla/modded detection
    • CategoryDetector.cs - Item categorization
    • DiagnosticCommands.cs - Debug tools
  • Added Presets/PresetManager.cs - Preset management
  • Added HotReload/ConfigWatcher.cs - Real-time config monitoring
  • Added Networking/ namespace:
    • WeightSyncManager.cs - Multiplayer synchronization
  • Added Patches/NetworkPatches.cs - Network event hooks
  • Improved Patches/WeightPatches.cs - Optimized HUD updates

Bug Fixes

  • Fixed HUD showing "lb" instead of "kg" in all scenarios
  • Fixed potential null reference exceptions
  • Fixed item validation edge cases
  • Fixed network sync timing issues

Removed

  • Hardcoded vanilla item lists (42 scrap, 17 store, 3 equipment items)
  • Update-only HUD patching (replaced with hybrid approach)

[1.0.0] - Initial Release

Features

  • Customize item weights in kilograms
  • Per-item configuration
  • LethalConfig integration (optional)
  • Weight display in kg instead of pounds
  • Basic item categorization

Note: Version 1.0.0 was the initial internal release. Version 2.0.0 is the first public Thunderstore release with major enhancements.

Thunderstore development is made possible with ads. Please consider making an exception to your adblock.