Some mods target the Mono version of the game, which is available by opting into the Steam beta branch "alternate"
More Workers Mono
Schedule I mod that enables Add/Remove worker idle points to/from properties with authoring tools; hotkeys and helpful visuals.
By Khundian
| Date uploaded | 8 months ago |
| Version | 0.2.0 |
| Download link | Khundian-More_Workers_Mono-0.2.0.zip |
| Downloads | 164 |
| Dependency string | Khundian-More_Workers_Mono-0.2.0 |
This mod requires the following mods to function
LavaGang-MelonLoader
The World's First Universal Mod Loader for Unity Games compatible with both Il2Cpp and Mono
Preferred version: 0.7.1ifBars-SteamNetworkLib_Mono
A streamlined, object-oriented Steam networking library designed specifically for Schedule 1 mods.
Preferred version: 1.2.0README
More Workers
Schedule I mod that enables Add/Remove worker idle points to/from properties with authoring tools; hotkeys and helpful visuals.
Authenticity & Integrity
- SHA256 Hash: Khundian.S1.MoreWorkers-IL2Cpp.dll
2CD690985B88A0DBA80C11AD7BAF475E442401E386E5D2209F14BF678392A04C
- SHA256 Hash: Khundian.S1.MoreWorkers-Mono.dll
33C1CEA02EE770F79F0EC3D84B7A482E2B8AC464EF09749B9C6BEE70B705ABCC
Current Supported Properties
- Barn
- Bungalow
- Docks Warehouse
- Hyland Manor
- Motel Room
- RV
- Sewer office
- Storage Unit
- Sweatshop
Features
- Manual idle points via world-space JSON (appended after existing/default idle points)
- Visualization idle points (blue = existing/default, green = manual)
- Authoring Mode:
- Capture new manual idle point (F9)
- Force reload points.json (F10)
- Remove last manual idle point from points.json for the nearest property (F11)
- Property worker capacity expands to match the idle point count (never shrinks mid-session for safety and stability reasons)
Settings (*.cfg edit or ingame mod managers like ModsApp)
- Skip RV: Hides the RV from fixer/hiring location dialogues. Turn this off only if another mod keeps the RV around as a persistent property.
- Authoring Mode: Enables the in-game authoring overlay and markers.
- Hotkeys:
- Capture Key (default F9): Capture your current position/yaw as a manual idle point for the nearest property.
- Reload Key (default F10): Force reload
points.jsonand redraw markers. - Remove Key (default F11): Remove the last manual point for the nearest property.
Authoring Workflow
- Enable Authoring Mode in "More Workers.cfg" or ModsApp.
- Markers: blue = existing/default, green = manual. Numbers show per-property indices.
- Stand near the target property, press F9 to capture your position/yaw.
- The mod adds a live idle slot immediately so hiring unlocks right away.
- Optional: Press F10 to force a reload of JSON and redraw markers.
- Press F11 to remove the last manual point for the nearest property.
- The green marker disappears immediately; The actual idle point remains for this session for safety and stability reasons (possible bugs/crashes when removing idle points that are currently hosting a worker).
- Actual idle point(s) will be removed from the game automatically on next load of game/save, if the removed idle point was hosting a worker in your save; the worker will not load without an idle point and when you save the game without the worker loaded, he will be lost.
Hot-Reload Behavior
- Capture (F9): Writes to JSON and appends a live idle slot immediately; capacity expands to match the new idle count.
- Remove (F11): Writes to JSON and hides the removed point visually; the corresponding live slot is pruned safely on next reload of game/save.
- Reload (F10): Reloads JSON and redraws markers (visual only); full reconcile happens on game/save load/restart.
Cleaners, Bins, and Loading Docks
More Workers is intentionally scoped to idle points and worker capacity. It does not add or modify bins, disposal areas, or loading docks at any property.
- For most jobs, adding idle points and capacity is enough: employees walk from their idle point to existing workstations and behave as expected.
- Cleaners are special: they also need a valid disposal target (bin/disposal area) to drop trash bags.
- Properties like Sewer office can hire workers once you author idle points, but vanilla does not give them a dedicated bin/disposal area.
- For RV, vanilla gameplay does not keep it around past the prologue. More Workers does not prevent that event or resurrect the RV on its own. If another mod enables RV as a persistent property, More Workers mod can add idle points and allow hiring via dialogue, but that other mod is also responsible for providing a suitable bin/disposal area for cleaners.
With only this mod installed (no bin/disposal-area mods):
- Cleaners you assign to Sewer office or an enabled RV will have nowhere to dispose of trash bags.
- When a trash bag is full, they will tie it off and leave it on the ground near where it was filled, ignore that bag from then on, and return to their idle point.
To keep maximum compatibility, this mod does not spawn bins, disposal areas, or loading docks, and it does not rewire those systems. That work is left to dedicated content mods. If you want fully functional cleaners and trash/disposal flows at Sewer office, pair More Workers with mods that add those structures, for example:
File Locations
- Config:
UserData/More Workers/More Workers.cfg - Manual idle points:
UserData/More Workers/points.json
Helpful Mods
These mods are not mandatory, but nice to have!
- ModsApp: (Helpful for configuring settings ingame; enable Authoring Mode or change hotkeys.)
- IL2Cpp & Mono (S1API): https://new.thunderstore.io/c/schedule-i/p/k0Mods/ModsApp/
- LateShift: (Allows employees to work past 4AM and without an assigned bed or locker. Autopay employees and configure whether pay is deducted from cash or your bank account.)
CHANGELOG
Changelog
[1.0.6] - 2026-01-05
- Fixed snap-to-ground for manual idle point authoring in multi-floor interiors (e.g., Docks Warehouse) by probing 0.5m below the camera/player reference before snapping.
[1.0.5] - 2026-01-04
- Documentation updates.
[1.0.4] - 2026-01-04
- Fixed co-op layout sync reliability by chunking large layout payloads across multiple lobby SyncVar keys (avoids Steam lobby data truncation).
- Clients now prime/rebuild layouts from existing lobby state on join (no missed snapshot if the host published before the client initialized SyncVars).
- Replaced runtime-dependent
GetHashCode()layout hashing with a deterministic hash to prevent false rebuild mismatches across machines/builds. - Added extra opt-in co-op/load diagnostics to help pinpoint client load replication exceptions (rate-limited;
EnableCoopNetLogging).
[1.0.3] - 2026-01-01
- Added opt-in co-op/network troubleshooting logs via
EnableCoopNetLogging(disabled by default in release builds). - Standardized co-op log prefixes to
[COOPNET][…]and masked SteamIDs in host/sender checks. - Expanded co-op diagnostics to include FishNet state transitions, layout sync request gating reasons, lobby host identity checks, and surfaced exceptions (rate-limited).
[1.0.2] - 2025-12-30
- Fixed client join hangs and desync by syncing the host's idle layout/capacity to clients at runtime.
- Switched layout sync transport to SteamNetworkLib for IL2CPP-safe mod networking.
- Client authoring remains view-only, while the debug marker overlay mirrors host manual/existing points and updates when the host edits.
[1.0.1] - 2025-12-27
- Improved robustness of
points.jsonsaves by using an atomic replace when updating the file.
[1.0.0] - 2025-11-23
- Release.
[0.9.0] - 2025-11-23
- Documentation updates.
[0.8.0] - 2025-11-23
- Aligned manual JSON append deduplication on Mono with IL2CPP by using the same ~0.15m spacing threshold when appending manual idle points onto existing idle arrays, ensuring backend parity for how closely manual points can be placed.
- Full backend parity check.
[0.7.0] - 2025-11-23
- Added in-world SMS feedback from the Fixer NPC for authoring errors (too-close captures, attempts to remove an in-use idle point, and client-only edits in co-op), with a short cooldown so players get clear guidance without message spam.
[0.6.0] - 2025-11-21
- Unified existing/manual idle point editing so Shift+F8 always selects the nearest idle point on the current property (manual vs existing decided by distance and the Override Existing toggle), and F8 moves exactly the selected point instead of whichever worker is closest at move time.
- Fixed manual idle point movement to track a specific
EmployeeIdlePointstransform backed by a matching JSON entry, so the yellow highlight, JSON update, and worker transform all refer to the same slot. - Improved authoring visuals: manual markers now highlight by the selected transform index (not by draw order), and the HUD clearly distinguishes between
Editing manual #idxandEditing existing #idxfor the active property. - Added DEBUG-only Motel Room instrumentation to log manual idle JSON counts and live idle array lengths before/after application, making it easier to diagnose property-specific layout issues without affecting release behavior.
- Reduced the minimum spacing for authoring/moving idle points to 0.25m and tightened load-time deduplication to ~0.15m, so closely positioned points are still treated as distinct when intended while double-application of the same JSON data (e.g., for Motel Room or RV) no longer produces duplicate live slots.
- Added name-based guards for
Motel RoomandRVin the worker adjustment pipeline (similar to the existing Sweatshop handling) to prevent cross-component double-processing when both base and derived property components run our postfix. - Reworked the F8 hotkey in ModsApp as a first-class "Move Key" entry above Capture, and made the advanced "Override Existing Idle Points" toggle default-on and hidden outside debug builds so overrides are always available in normal play without extra configuration.
[0.5.0] - 2025-11-20
- Multiplayer safety: made the host/server authoritative over idle layouts and capacity in co-op by only applying manual points, existing overrides, and
EmployeeCapacityrecalculations on authoritative instances (FishNet / Il2CppFishNet), while pure clients stay read-only. - Authoring hotkeys are now host-only in multiplayer: on pure clients F9/F10/F11/F8 no longer mutate the world and instead log that authoring is host-only and should be performed by the host.
- Improved 1.0m-spacing handling for manual idle points on properties that have no vanilla idle points by deduplicating clustered manual JSON entries when building the first
EmployeeIdlePointsarray, so live idle slots now always match the described 1.0m rule even for JSON-only properties.
[0.4.0] - 2025-11-19
- Added safe live removal of manual (green) idle points: F11 now deletes the last manual idle point for the nearest property only when no employee is currently using that exact idle
Transform(checked via each employee's IdleBehaviour / WaitOutside.IdlePoint). - Enforced a minimum spacing of 1.0m between idle points when capturing with F9 or loading manual points from JSON (including properties that previously had no idle points), preventing nearly overlapping idle slots that could confuse AI and live removal.
- Updated capacity handling so EmployeeCapacity tracks the current idle-point count (with a floor at the current employee count) instead of being expand-only; this keeps fixer hiring limits aligned with actual available slots and avoids over-allocating workers after removing idle points.
- Updated authoring visualization so green manual markers are now drawn from live
EmployeeIdlePoints(MW_MANUAL transforms) rather than raw JSON only, ensuring the overlay matches the deduplicated runtime idle slots even when JSON contains near-duplicate points. - Added a 1.0m spacing check when moving existing/default idle points with F8 so that overrides cannot place a blue slot closer than 1m to any other idle point (blue or green); moves that would violate this are denied with a clear log message.
[0.3.0] - 2025-11-16
- Added an advanced "Override Existing Idle Points" pipeline backed by JSON
existingoverrides, allowing baseline (blue) idle points to be repositioned per property while keeping indices and capacity behavior stable. - Introduced in-game authoring for existing idle points (when the advanced toggle is enabled): Shift+F8 selects the nearest existing point on the current property (highlighting it yellow), and F8 moves that point to the current player/camera position with ground snap and immediate marker refresh.
- Made the existing-idle override key configurable via ModsApp (
Existing Idle Override Key).
[0.2.1] - 2025-11-16
- Improved authoring HUD overlay so the “Next idx (existing + manual)” counter reflects the future idle-point layout immediately after F11 (baseline existing points stay stable; manual JSON points update live).
[0.2.0] - 2025-11-14
- Added Motel Room and RV support: manual idle points, capacity adjustments, and dialogue integration so both properties appear as hireable locations when owned (RV is gated by a Skip RV dialogue toggle).
- Extended manual idle point flow to properties without default idle points by creating
EmployeeIdlePointsarrays directly from JSON/F9 captures. - First-capture authoring now creates a live idle point when none exist, so capacity can expand in-session without requiring a restart.
- Added built-in anchors for Motel Room and RV to improve nearest-property selection and authoring ergonomics.
- Added Sewer office support via the same manual idle point + capacity flow; workers can be hired once idle points exist, while cleaners still require a bin/disposal-area mod (e.g., SewerEmployees) for full functionality.
- Improved F11 behavior so Remove always targets the nearest property rather than the last selected one.
[0.1.1] - 2025-11-09
- Image fixes in readme
[0.1.0] - 2025-11-09
- Authoring Mode with in‑game visualization (blue = existing/default, green = manual) and index labels.
- Hotkeys: Capture (F9), Reload (F10), Remove (F11).
- Capture writes to JSON and appends a live idle slot immediately; capacity expands to match idle count.
- Reload refreshes points.json and redraws markers (visual); full reconcile on next scene/load.
- Remove pops the last manual point in JSON; visually hides the corresponding marker; the live slot is pruned safely on next reload.
- Snap‑to‑ground enabled.
- Capacity is expand‑only (max of baseline vs current idle count); never shrinks mid‑session.
- JSON format (world-space) at
UserData/More Workers/points.json. - Marker dedup and clarity: skip drawing
MW_MANUALtransforms as "existing"; avoid duplicate blue/green at the same spot. - Added property anchor: Hyland Manor at (164.00, 11.76, -67.00).
- Authoring HUD overlay improvements:
- Lowered position to avoid new HUD icons (safe-area aware).
- Semi-opaque black background for readability.
- Larger font size and retained shadow for contrast.
- Dynamic sizing via text measurement to prevent clipping; fixed degree symbol (°).