Some mods target the Mono version of the game, which is available by opting into the Steam beta branch "alternate"
Siesta
Distant NPCs take a siesta so your FPS doesn't - distance/visibility LOD for all NPCs.
| Date uploaded | 5 days ago |
| Version | 1.2.2 |
| Download link | DooDesch-Siesta-1.2.2.zip |
| Downloads | 69 |
| Dependency string | DooDesch-Siesta-1.2.2 |
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.3ifBars-S1API_Forked
S1API is an open source collaboration project to help standardize Schedule One modding processes. The goal is to provide a standard place for common functionalities so you can focus on making content versus reverse engineering the game.
Preferred version: 3.1.1README
Siesta - NPC Performance for Schedule I
🛟 Need help or found a bug? Get support at support.doodesch.de/siesta.
Distant NPCs take a siesta so your FPS doesn't. Siesta puts off-screen, far-away NPCs to sleep - hiding them and pausing their movement/schedule - then wakes them cleanly as you approach. Works on every NPC in the world, including ones added by other mods.
Features
- Distance + visibility LOD for all NPCs. Off-screen NPCs beyond a configurable distance are hidden (no render/animation cost); far, idle, non-essential ones also have their movement and schedule paused (the NavMeshAgent is the biggest per-NPC cost).
- Functionality-first. Dealers attending a deal, employees mid-task, customers in a deal, story/quest NPCs, anyone in dialogue, in a vehicle, KO'd or near any player are never paused - only ever hidden.
- Clean wake-up. A woken NPC re-enables its schedule, catches up to the current in-game time, resumes movement and repairs its NavMesh placement before it is shown again - no T-pose, no stuck agents.
- Multiplayer safe. Hiding is purely local per client; the movement/schedule pausing runs only on the host who owns NPC simulation, so there is no desync.
- Cheap and self-tuning. A small, fixed number of NPCs is re-checked per frame, so the mod's own cost stays flat regardless of how many NPCs exist.
Requirements
- Schedule I (IL2CPP) with MelonLoader 0.7.3+.
- S1API (pulled in as a dependency).
How much FPS will I gain?
The win scales with how many NPCs are far from you - it's biggest in NPC-dense saves (e.g. with NPC-adding mods) and small in sparse spots, because NPC simulation isn't always the dominant frame cost. Siesta only ever removes work for NPCs you aren't looking at, so it's a safe, free-when-idle optimization.
Settings
EnableLod, EnableInMultiplayer, CosmeticDistance (40), DeepDistance (80), Hysteresis (8),
BudgetPerFrame (32), UseCosmeticCull, UseDeepCull, RespectOnScreen, ShowFpsCounter.
Editable in UserData/MelonPreferences.cfg.
License
MIT. See the included LICENSE.md.
CHANGELOG
Changelog
All notable changes to Siesta are documented here. This project adheres to Semantic Versioning.
[1.2.2] - 2026-08-05
Fixed
- NPCs added by other mods show up again. Siesta was hiding them in the fraction of a second before the game had finished spawning them, which made the spawn fail and lost the NPC for that session. Measured on a 177-NPC pack: every one of them was refused before, none are now. If you have been missing modded NPCs, this is the one to update for.
[1.2.1] - 2026-08-05
Fixed
- NPCs from Fannso's MoreNPCs work again. Siesta was switching off that mod's whole per-frame loop, which left Dominic, Silas and Thomas locked, their dialogue stale and their building setup unfinished. Only the one watcher that cannot run on a mismatched build is skipped now, and only after it has actually failed once.
Removed
- The
MoreNpcsAutoCompatsetting is gone. The MoreNPCs handling no longer has a wrong case to opt out of. Delete the line fromUserData/MelonPreferences.cfgif you want a tidy file; leaving it does nothing.
[1.2.0] - 2026-08-01
Fixed
- Works on Schedule I 0.4.6f11. Update S1API to 3.1.1 with it.
Changed
- NPCs the game flagged as important are no longer exempt from culling. 0.4.6f11 deleted that flag and put nothing in its place. Police, dealers and employees on a job, customers waiting on a delivery, and anyone fleeing, fighting or talking are still exempt.
[1.1.1] - 2026-07-22
Fixed
- NPCs walking into a building are no longer deep-culled mid-approach. Pausing them there stranded groups at the door (visible as door clusters with big NPC packs) and re-ran the fragile building enter path on every wake. NPCs whose active schedule step is a stay-in-building event now keep simulating until they are inside; once inside, the existing in-building rule takes over.
[1.1.0] - 2026-06-21
A correctness pass so NPCs feel like vanilla under heavy population (MoreNPCs), plus a real per-NPC saving.
Fixed
- NPCs no longer freeze mid-action when they go far off-screen. Police (pursuit/patrol/checkpoint/sentry), and civilians who are fleeing, in combat, cowering, calling the police, or buying are now exempt from the deep cull, so they keep behaving. This fixes the "NPC stood frozen until I walked up / interacted" reports.
- Waking a culled NPC is now reliable: the navmesh agent is restored and re-seated before the schedule re-evaluates, so NPCs resume their action immediately instead of standing inert, and the "not on navmesh" log spam is gone.
- Cosmetic culling no longer freezes a roaming NPC mid-route (the host re-enables its nav agent after hiding it).
- NPC models no longer pop on inside a building or vehicle when restored.
- NPCs in a conversation, and NPCs indoors, are no longer deep-culled.
- A one-off wake failure no longer pins an NPC to Full for the whole session (it retries after a short backoff).
Added
- Awareness throttle on deep-culled NPCs: their 10Hz vision sweep is paused (the same call the game makes when an NPC enters a building), recovering a real per-NPC cost. Local and multiplayer-safe.
- Instant promote pass: a far NPC that suddenly comes near or on-screen is restored the same frame, so fast turns in a dense (MoreNPCs) crowd no longer leave a visibly frozen or hidden NPC.
- Daily reconcile on the natural midnight rollover so distant culled NPCs are never left a day behind.
[1.0.0] - 2026-06-20
Initial release.
Added
- Distance/visibility LOD for all NPCs (base game + any NPC-adding mod) via the game NPC registry.
- Three tiers: Full, Cosmetic (renderer hidden, AI untouched), Deep (movement + schedule paused).
- Clean wake-up: schedule re-enable +
EnforceStatetime catch-up, movement resume, NavMesh repair, then reveal - no T-pose, no off-NavMesh agents (failed wakes are kept Full for the session). - Functionality-preservation exemptions: dealers/employees/customers mid-task, story/
IsImportant, in-dialogue/in-vehicle/KO'd/panicking NPCs, and anyone near any player are never deep-culled. - Multiplayer safety: cosmetic culling is local per-client; deep culling is host-authoritative only.
- Budgeted, allocation-free re-evaluation loop with distance hysteresis.
RestoreAllbefore save / scene change / quit so NPCs are never persisted in a culled state.- Configurable distances, tier toggles, on-screen guard and an optional FPS counter (MelonPreferences).
- Optional, opt-in compatibility shim for the CrossCompat/Mono Fannso's MoreNPCs build on standard
IL2CPP (
MoreNpcsCompatShim, default off). - Debug build only: on-screen HUD, hotkeys (F6-F10) and a
siesta ...dev-console bridge.