CrashoutCrewExtraTime
Configure nearly every timer in Crashout Crew through a BepInEx config file. Adjust delivery times, shift durations, coroutine delays, and more.
By Strazer
| Date uploaded | 15 hours ago |
| Version | 1.0.0 |
| Download link | Strazer-CrashoutCrewExtraTime-1.0.0.zip |
| Downloads | 2 |
| Dependency string | Strazer-CrashoutCrewExtraTime-1.0.0 |
This mod requires the following mods to function
BepInEx-BepInExPack
BepInEx pack for Mono Unity games. Preconfigured and ready to use.
Preferred version: 5.4.2100README
Crashout Crew Extra Time
A BepInEx 5 plugin that lets you configure nearly every timer in Crashout Crew through a generated configuration file.
Features
- Adjustable timer multipliers for deliveries, shifts, coroutines, and more.
- Automatic config generation on first launch.
- Harmony patches using HarmonyX.
- Runtime timer discovery — finds and patches timer fields automatically.
- Graceful failure — continues loading even if some patches fail after game updates.
Installation
- Install BepInEx 5 for Crashout Crew.
- Place the
CrashoutCrewExtraTime.dllintoBepInEx/plugins/. - Launch the game once to generate the config file.
- Edit
BepInEx/config/com.strazer.extratime.cfgto your liking. - Restart the game.
Configuration
The config file is at BepInEx/config/com.strazer.extratime.cfg.
[Timers]
## Timer multiplier.
## 0.0 = Instant (when safe)
## 0.5 = Twice as fast
## 1.0 = Vanilla
## 2.0 = Twice as long
DeliveryMultiplier = 1.0
ShiftMultiplier = 1.0
GameSpeedMultiplier = 1.0
CoroutineMultiplier = 1.0
AutoDiscoveredMultiplier = 1.0
Timer Descriptions
| Config Key | Default | Affects |
|---|---|---|
DeliveryMultiplier |
1.0 | Truck arrival duration (GameUtil.truckArriveDuration) |
ShiftMultiplier |
1.0 | Shift/work duration (GameUtil.shiftDuration) |
GameSpeedMultiplier |
1.0 | Base game duration (GameUtil.duration) |
CoroutineMultiplier |
1.0 | All WaitForSeconds / WaitForSecondsRealtime delays |
AutoDiscoveredMultiplier |
1.0 | Any float/int fields matching timer keywords |
Value Reference
| Value | Effect |
|---|---|
0.0 |
Instant (set responsibly) |
0.5 |
Twice as fast |
1.0 |
Vanilla (default) |
2.0 |
Twice as long |
10.0 |
Ten times as long |
How It Works
The plugin uses HarmonyX to patch the following at runtime:
| Patch Target | Type | Effect |
|---|---|---|
GameUtil.get_truckArriveDuration |
Postfix | Multiplies return value |
GameUtil.get_shiftDuration |
Postfix | Multiplies return value |
GameUtil.get_duration |
Postfix | Multiplies return value |
WaitForSeconds(float) constructor |
Prefix | Multiplies seconds parameter |
WaitForSecondsRealtime(float) constructor |
Prefix | Multiplies seconds parameter |
| Auto-discovered timer fields | Postfix | Multiplies return value |
All game timer fields are discovered by analyzing the #Strings metadata heap in
Assembly-CSharp.dll. The following fields were confirmed present:
truckArriveDuration— truck arrival timingshiftDuration— work shift lengthduration— base duration reference
Coroutines discovered include LoadCo, InitializeGameCo, RefreshGlobalStatsCo,
and WaitForTask. These are covered by the global CoroutineMultiplier which
patches the WaitForSeconds constructor.
Compatibility
- Game: Crashout Crew (current version)
- Mod Loader: BepInEx 5.x
- Patcher: HarmonyX (bundled with BepInEx)
Building from Source
Requires .NET Framework 4.8 SDK or csc.exe.
csc /target:library /out:CrashoutCrewExtraTime.dll ^
/reference:0Harmony.dll ^
/reference:BepInEx.dll ^
CrashoutCrewExtraTimePlugin.cs
License
MIT License — see LICENSE.txt in the game folder or GitHub.
Credits
CHANGELOG
Changelog
1.0.1 (2026-08-08)
Added
- UI Countdown timer multiplier (
UICountdownMultiplier). - All 12 independent timer multipliers now available in config:
ShiftStartMultiplier,ShiftDurationMultiplierTruckPatienceMultiplier,TruckArrivalMultiplier,TruckDepartureMultiplierPauseMultiplier,LockInMultiplierRespawnMultiplier,BoxSpawnMultiplierWarehouseMultiplier,UICountdownMultiplier
Changed
- Timer discovery now uses Mono.Cecil analysis of
febjam.dllfor accurate method targeting. - Patch methods use thread-safe dictionary storage to prevent race conditions.
- Configuration generation improved with individual descriptions for each timer.
- Logging includes resolved type paths and patch counts for easier debugging.
OnEntityCreatedfield patches verify declaring type withIsAssignableFrombefore modifying fields.
Fixed
- Harmony patch stability: all
HarmonyMethodconstructors verified against real HarmonyX 2.9 API. - Timer patch reliability: fields correctly identified via
AccessTools.Fieldand type resolution with fallback enumeration. - Reflection/type resolution:
ShiftManagerfound viaAccessTools.TypeByNamewith fallback to runtime assembly scan. - Configuration generation: all entries now generate with proper defaults and descriptions.
- Multiplayer compatibility: host-authoritative timer fields correctly targeted on server-side methods.
- DLL caching: stale builds prevented by deleting output file before each compilation.
Notes
- First stable public release of Strazer's Extra Time.
- All timer fields verified against
febjam.dll(429 types, 118SetTimer(Single)call sites). - Core game timer is
Timerstruct usingDecrementTimer(Int32)per frame viaOnUpdateSimulation. - Shift duration calculated in
ShiftManager.ServerPrepareShiftfromContractShift.truckPatienceDuration.