v0.8.3 - The Stability & Desync Hotfix
🔥 What's Fixed (I hope)
-
Invisible Shrapnel Damage: Shards that had visually faded out could still
deal damage or block physics through their active collider. The collider is now
disabled before the shard becomes imperceptible, and the GameObject is destroyed
the moment it's visually depleted. Affects both singleplayer and multiplayer. -
Chain-Destruction Bug (80%+ Shards Lost): Flying shrapnel was triggering
the break condition on grounded debris the instant it touched it, causing the
majority of shards from any explosion to disappear within the first second.
Shrapnel-on-shrapnel contacts are now fully filtered — only high-velocity
impacts from terrain and entities can break debris. -
Multiplayer: Wrong Shard Positions (Overflow Desync): Large world
coordinates or extreme rotation values caused integer overflows in packed
network fields, teleporting shards to completely wrong locations on the client.
All packed fields are now clamped before packing. -
Multiplayer: Shards Vanishing Mid-Flight on Client: Destroy messages from
the server were causing instant pop-out of existence. Clients now play a smooth
150ms shrink-and-fade effect (BeginFadeDestroy) regardless of flight state. -
Multiplayer: Ghost Shards (Server Has, Client Doesn't): At-rest client
mirrors were timing out after 90 seconds while server shards lived for up to
5 minutes. Mirror lifetime now matches server debris lifetime exactly. -
Multiplayer: Phantom Shards (Client Has, Server Doesn't): Flying mirrors
orphaned by a lost destroy packet now fade out after 5 seconds without a
server snapshot, down from the previous 30-second hard timeout. -
Multiplayer: Wrong Rotation on Spawned Shards: At-rest shards always
spawned at 0° on the client. The spawn message now carries the server's Z
rotation (0.01° precision), applied immediately on mirror creation. -
Zero Scale on Flying Fragments: Flying mirrors had
_originalScale = (0,0,0)
if they never transitioned to rest, making them fully invisible during decay
and fade-out. Scale is now captured correctly for all mirror states at creation.
🛠️ Installation
- Requires BepInEx 5.4.21+
installed in your game directory. - Place
ScavShrapnelMod.dllinto:
CasualtiesUnknownDemo/BepInEx/plugins/ - Launch the game — config updates automatically on first run.
Full technical breakdown in CHANGELOG.md.