Some mods target the Mono version of the game, which is available by opting into the Steam beta branch "alternate"
OverTheCounter
Schedule I expansion (IL2CPP & Mono): Manager automation, 24/7 market access via 'Executive Privilege,' high-stakes 'Desperation' daytime deals, tiered OTC app scam, and 'Rinse Cycle' laundering. Run an empire, not errands. Built for S1API.
| Date uploaded | 5 months ago |
| Version | 1.3.0 |
| Download link | hdlmrell-OverTheCounter-1.3.0.zip |
| Downloads | 2460 |
| Dependency string | hdlmrell-OverTheCounter-1.3.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.2ifBars-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.0.3ifBars-SteamNetworkLib_Il2Cpp
A streamlined, object-oriented Steam networking library designed specifically for Schedule 1 mods.
Preferred version: 1.2.4ifBars-SteamNetworkLib_Mono
A streamlined, object-oriented Steam networking library designed specifically for Schedule 1 mods.
Preferred version: 1.2.4hdlmrell-OTCLoader
MelonLoader plugin that auto-detects your game branch (IL2CPP or Mono) and disables incompatible mod DLLs before they crash. Works for all mods, not just OverTheCounter.
Preferred version: 1.0.5hdlmrell-MeshVault
Shared mesh database plugin for Schedule I mods. Provides a public API for loading, spawning, and managing mesh entries from a JSON database.
Preferred version: 1.0.9ifBars-S1MAPI
S1MAPI is a mapping and construction library for Schedule 1 mods. Create procedural meshes, build structures, and load GLTF assets without depending on game assemblies.
Preferred version: 2.0.0README
OverTheCounter for Schedule I
OverTheCounter is a comprehensive logistics expansion for Schedule I, compatible with both IL2CPP and Mono branches. Features physical Manager automation, 24/7 market access via "Executive Privilege," high-stakes "Desperation" daytime deals, a tiered OTC customer app SaaS scam, and manual cash-laundering via the "Rinse Cycle" questline.
DUAL BUILD: This mod ships both
OverTheCounter.Il2Cpp.dllandOverTheCounter.Mono.dll. If using a mod manager, SwapperPlugin (included as a dependency) automatically loads the correct DLL for your game branch. If installing manually, only copy the DLL that matches your game branch — see instructions below.
Features
1. The Manager Update (Endgame Automation)
Stop running errands. Start running an empire. A complete, simulation-based automation system built on S1API for maximum compatibility (works seamlessly alongside k0Mods).
- True Logistics: Hire physical Manager NPCs at your Laundromat, Post Office, Car Wash, or Taco Ticklers.
- Supply Routes: Managers automatically physically visit stores to keep your shelves stocked with essential ingredients (fertilizer, chemicals, etc.).
- Distribution Routes: Assign up to 3 custom logic routes per manager. They move product from Container A to Container B, allowing you to chain storage containers across the map.
- The Cost of Business: Managers cost $350/day (paid from their locker's petty cash) and report their status via a daily summary text.
- "Executive Privilege" Quest: A new endgame questline. Prove your worth to the Night Market Boss in the downtown high-rises by crafting high-value Weed ($105+), Meth ($200+), and Cocaine ($400+) mixes. Success unlocks 24/7 Night Market access for your automation network.
2. Smart Logistics UI (Quality of Life)
No more mental math. No more clicking back and forth.
- The Contract Aggregator: Merges all active orders into a single "Pending Deliveries" list, grouped by time window. See exactly what you need for the next run at a glance.
- Smart Fill — Storage: Open any container to see a live manifest of what you need vs. what you have. One click pulls the exact product into your inventory, prioritizing jars over baggies.
- Smart Fill — Handover: During a contract handover, click once to fill the bare minimum (quality-aware, smallest packaging first). Click again to boost until acceptance hits 95%+.
3. Dynamic World Events
The city feels alive, and the market is volatile.
- The "Desperation" System: Breaks the "wait for night" meta.
- Daytime Rush: High-addiction "Fiends" trigger urgent orders between 08:00 and Curfew.
- High Risk/High Reward: strict 2-hour deadlines with a +45% payout bonus. Missing the deadline boosts the Cartel's reputation, not yours.
- Drifter Encounters: Random NPCs spawn throughout the city offering one-time deals via text.
- The Risks: Encounter Whales (bulk buyers), Robbers (ambushes), or Narcs (police stings).
- Scaling: Spawn rates increase as you unlock more regions.
4. Progression & Economy
You have to earn your tools.
- "OverTheCounter" (OTC) App: The customer list is no longer free.
- SaaS Model: Purchase software tiers ($3k - $12k) to unlock features like Region Sorting, Addiction Indicators, and GPS Customer Tracking.
- Subscription: Failure to pay the $1,000/week server rent disables the app.
- Early Game Laundering:
- Meet Vic: A corrupt associate who offers manual cash laundering once you hit the $10k weekly ATM limit.
- Risk vs. Reward: Pay a 17-20% fee to clean dirty cash early, bridging the gap between street dealing and owning legitimate businesses.
5. Customizable Minimap (UI & Navigation)
- Opt-In UI: The minimap is turned OFF out of the box. You must enable it first (see the Configuration section below).
- Total Control: Choose between a circular or square map, adjust the size, set your screen anchor, and use a custom zoom cycle hotkey (Default: N).
- Icon Filtering: Keep your screen clean by toggling exactly which POIs show up, from active customers to your newly hired Managers.
Multiplayer Support
Built from the ground up for co-op.
- Host-Authoritative: Quest progress, Manager routes, and OTC subscriptions sync flawlessly between host and clients.
Requirements & Installation
Using a mod manager (recommended)
Install OverTheCounter from Thunderstore using r2modman, Thunderstore Mod Manager, or Gale. When prompted to install dependencies, click Yes — the mod manager will download and configure everything for you, including:
- S1API — modding API layer
- SwapperPlugin — automatically detects your game branch (IL2CPP or Mono) and loads the correct DLL. No manual steps needed.
- SteamNetworkLib — multiplayer sync (single-player works fine without it, but there's no harm in having it installed)
Launch the game. That's it.
Manual installation
If you prefer not to use a mod manager, you'll need to install each dependency yourself.
- Install MelonLoader v0.7.0.
- Install S1API (ifBars fork) — modding API layer. Make sure to pick the version matching your game branch (IL2CPP or Mono).
- (Multiplayer only) Install SteamNetworkLib — required for multiplayer sync. Again, pick the version matching your game branch.
- Download the latest OverTheCounter release. It includes two DLLs:
OverTheCounter.Il2Cpp.dll— for the IL2CPP branchOverTheCounter.Mono.dll— for the Mono branch
- Copy only the DLL that matches your game branch into your
Modsfolder. Do not install both — loading the wrong DLL will crash MelonLoader. SwapperPlugin is not needed for manual installs. - Launch the game.
Configuration
Settings are stored in MelonLoader's config file and organized into nine categories:
- Desperation System — Enable/disable toggle, fiend addiction threshold, trigger chance per hour, max daily events, response/delivery deadlines, bonus multiplier, relationship penalty, cooldown, and active hours.
- Vic Laundering — Tier costs, returns, trust unlock threshold, and intro quest requirements.
- Static Subscription — Weekly billing cost, cycle length, ATM deposit trigger, and tier upgrade costs/requirements.
- Contract Notifications — Enable/disable toggle, consolidation threshold (minimum contracts before grouping kicks in).
- Manager System — Daily wage and signing fee.
- Executive Privilege (Bella) — Minimum weed, meth, and cocaine mix value thresholds for the quest.
- Drifter System — Enable/disable toggle, spawn chance per hour, max active drifters, active hours, offer window, delivery deadline, linger duration, and minimum deal value.
- Minimap — Enable/disable toggle (off by default), size, zoom level, toggle key (default: N), screen position, circle/square shape, rotate-with-player, border color/width, and icon scale. Invalid values are automatically corrected.
- Minimap POIs — Per-category toggles for potential customers, unlocked customers (off by default), dealers, dead drops, contracts, quests, properties, and managers.
Every setting includes a full description visible in ModsApp by k0Mods (recommended, open-source). Also compatible with Mod Manager & Phone App (descriptions not supported). You can always edit the config file directly if you prefer.
In multiplayer, the host's settings are automatically synced to all clients (except local-only preferences like consolidation settings).
License
Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0)
You are free to:
- Share — copy and redistribute the material in any medium or format.
- Adapt — remix, transform, and build upon the material.
Under the following terms:
- Attribution — You must give appropriate credit to the original author (hdlmrell) and indicate if changes were made. You may not suggest the author endorses you or your use.
- NonCommercial — You may not use the material for commercial purposes.
- ShareAlike — If you remix, transform, or build upon the material, you must distribute your contributions under the same license as the original.
CHANGELOG
OverTheCounter Changelog
v2.0.10 — Bug Fixes
- Overhauled dispensary customer pricing to closely simulate vanilla deals: flat per-product pricing paired with dynamic tipping based on customer enjoyment — with perfect skill checks, OTC sales can now match and even outperform vanilla curfew-bonus deals
- Fixed OTC entities duplicating after dying and reloading
- Fixed client players being unable to reliably ring up customers at the checkout counter in multiplayer
- Fixed client GreenTab pricing buttons doing nothing in multiplayer
- Fixed OTC quests not appearing for client players when they took ownership of a property
v2.0.9 — Bug Fixes
- Customers no longer refuse to buy bricks when smaller package types aren't on the shelf — checkout now seamlessly repackages bricks, jars, baggies, and any other format mid-sale
- Budtending consultation pricing now mirrors the vanilla deal formula — with matching Products App and GreenTab multipliers, an OTC sale on a single product lines up with the vanilla equivalent (OTC still offers variety in a single deal, which vanilla doesn't)
- Fixed checkout remainder/return storage leaking between properties when you own more than one dispensary
- Added a guard to prevent duplicate grid items from spawning on saves made with older versions of the mod
v2.0.8 — Bug Fixes
- Added multiplayer sync for dispensary customization — desk style, display name, sign colors, and pricing now sync from clients to host with ownership checks and input sanitization
- Widened S1API dependency range to accept 3.0.0–3.0.3 while rejecting the broken 3.0.2 release
- Fixed customers getting stuck re-entering store after checkout
- Fixed OTC app desync on property listings and thread order
- Fixed quest RPCs not routing correctly between host and clients
- Fixed ownership gate blocking dispensary light switch for clients
v2.0.7 — Bug Fixes
- Fixed style customization persisting invalid style IDs when material lookup fails
- Fixed stale HUD and coroutines leaking across scene transitions
- Fixed counter deduplication using count instead of coordinates, breaking multi-counter buildings
- Fixed dead drop cache crashing on null storage during early load
- Fixed SteamNetworkLib version mismatch handling and shop injection hardening
- Fixed RNG state not restoring when appearance generation throws
- Fixed star sprite caching preventing retry after fallback
v2.0.6 — Bug Fixes
- Fixed floor-fall bug caused by duplicate checkout counters and solid register colliders
- Fixed quest double-registration crash in multiplayer by deferring creation to Tick()
v2.0.5
- Added walk-in customer scheduling with configurable spawn intervals and mirror mode for OTC stores
- Added budtending relationship and addiction effects with deal completion popups
- Added Storefront Expansion quest for the dispensary with a tutorial NPC and guided pricing stages
- Added dispensary signage system with rename and color customization UI
- Added P2P sales log sync with auto-chunked messaging for multiplayer
- Added store diagnostic warnings to the GreenTab overview dashboard
- Added LightExposureNode to OTC tiles for grow light compatibility
- Added nav-stuck recovery with retry escalation for customers
- Added E-to-checkout prompt on queued customers
- Customers now process deferred deals 30 min before store opens so NPCs arrive at opening
- Register collection is now host-authoritative via P2P to prevent double withdrawal
- Batched SyncVar publishes with dirty flags to reduce same-frame network churn
- Fixed supplier meetup handoff, client sync, and delivery bay visibility
- Fixed sales summary card showing tips instead of average transaction value
- Fixed phone closing on right-click via ContactsApp exit listener
- Fixed desperation deals being falsely redirected to OTC storefronts
- Fixed OTC overlays not hiding when game HUD is hidden
v2.0.4 — Bug Fixes
- Fixed memory leaks from checkout counter GameObjects and failed texture loads
- Fixed duplicate networked object spawning
- Fixed MeshVault registration flag firing before any registration succeeds
- Added ownership check to store pre-open window logic
v2.0.3
- Added auto-pricing system - set per-product pricing from the GreenTab inventory tab, with multiplayer sync and save persistence
- Added floating sale notification at the register on completed transactions
- Added multiplayer SteamNetworkLib dependency check on lobby join
- DependencyChecker now detects wrong-branch and misplaced dependency DLLs
- Fixed ContactsApp region tab buttons for multiplayer clients and double Start() crash
- Fixed tip deposits for player-operated checkouts
- Fixed ornate desk product display position
v2.0.2
- DependencyChecker now validates mod versions, detects misplaced DLLs, and warns about wrong-folder installs
- Fixed supplier patch audit issues and removed ActionListPatch
v2.0.1 — Bug Fixes
- Fixed reliability issues on IL2CPP builds (crashes, hitching, and noisy MelonLoader output)
- Fixed edge cases with suppliers, store alerts, and the HUD overlay
- Cleaned up spurious MelonLoader warnings when optional mods are not installed
v2.0.0 — Storefronts
- Added three purchasable buildings — Westville Shack, Big Dispensary, and Supplier Warehouse, purchased through an encrypted messaging thread with Static
- Added walk-in customer system — NPCs enter through the front door, consult with a budtender, pick products based on preferences, queue at checkout, and pay with unit-based orders scaled by rank and relationship
- Added interactive checkout — scan and place products at the register, handle partial orders, and process transactions with a redesigned POS terminal and real-time sales analytics
- Added budtender system — autonomous checkout employees with per-counter staffing, store alerts, and daily wages
- Added GreenTab POS app — overview dashboard with 7-day sales and inventory charts, sales log grouped by checkout, employees tab, and building customization (desk styles, wall finishes, floor materials, lighting)
- Added storefront growth quest — a progressive questline: acquire the property, stock shelves with packaged product, install lighting, hire a budtender, and complete your first sale
- Added HUD overlay — health, stamina, and XP bars above the hotbar with floating +/- indicators for damage, healing, and XP gains
- Reworked Static's questline into the OTC app with threaded messages, encrypted conversations, property purchase cards, and a dead drop network
- Added P2P networking bridge for targeted multiplayer messaging with FishNet door replication
- Added map building overlay showing OTC building footprints on the phone map and minimap
- Added dependency checker popup for missing S1API, S1MAPI, or MeshVault
- Added rain suppression inside OTC buildings, region-locked customer traffic with daily caps, and notification badges
v1.5.7
- Updated for game v0.4.4 compatibility
- Decoupled OTC Loader into a standalone package
- Fixed Customer NullRef crash on non-networked NPC components
v1.5.6
- Added beta game version support with StackLimit and NPCEnteredBuilding compatibility fixes
- Fixed minimap manager mugshots showing as white circles on IL2CPP first load
v1.5.5
- Added minimap toggle for modded NPC POIs (police, cartel, etc.)
v1.5.4
- Added PackRat backpack integration — Smart Fill and delivery manifest now include backpack inventory
- Fixed Mono TryCast and unpackaged product bugs in Smart Fill and delivery manifest
- Fixed minimap positioning on ultrawide monitors
- Fixed manager upgrade slots not persisting across save/load on host
v1.5.3
- Reworked Smart Fill with inline status, gram-based feedback, and slot-aware filling
- Employees tab now shows specific activity labels, actionable issue highlighting, and dynamic manager end-of-day status
- Minimap positioning now adapts to actual screen resolution instead of assuming 1080p
- Fixed stale quests surviving save migration during reconciliation
v1.5.2 — Save Data Hardening
- Hardened Vic, Static, and Bella quest reconciliation against corrupted and stale save data — progression flags now heal bidirectionally on load
- Fixed completed quests lingering as active in the journal
- Fixed quest creation racing with game persistence on load
v1.5.1 — Vic Quest Rework
- Vic's intro quest now triggers from weekly ATM deposits (configurable threshold, default $10,000) instead of the Clean Cash quest
- Fixed Vic dialogue getting stuck when quest instance was missing or save state was ahead of quest progress
v1.5.0 — Recipe Pins & Dead Drops
- Added recipe pin overlay — pin any product from the Product Manager app to see its full mixing chain on screen
- Added dead drop support for manager distribution routes — managers can now deliver to dead drop locations
- Added graffiti re-edit — re-edit placed graffiti while preserving spray cans, with a config toggle
- Upgraded all UI text to TextMeshPro for sharper rendering across all OTC screens
- Minimap now supports free-form positioning via X/Y sliders, compass labels, and off-screen POI edge indicators
- Managers now use a cascading walk fallback chain, reducing teleports when pathfinding fails
- Standardized logging with auto-gated verbose output, per-system toggles, and deduplicated prefixes
- Fixed save data leaking between loads by clearing registry cache on scene load
- Fixed pickpocket NPC reference comparison on Mono builds
- Fixed MelonLoader 0.7.2 compatibility warnings
v1.4.0 — Employees & Stack Scaling
- Added Employees tab in the OTC phone app — type filtering, property grouping, detail pages with relationship bars, in-app map, and a tier-0 landing page
- Added customer detail view — split-view layout with relationship stats, addiction level, and location tracking
- Added stack size multiplier — configurable scaling for item stacks, manager thresholds, and supply picker quantities
- Added OTC Loader — branch-aware DLL management plugin with restart prompts, replacing the SwapperPlugin dependency
- Added rank/XP bar on the minimap — live rank and tier display with XP progress bar and floating +XP labels
- Added HireMe mod integration — auto-detected Hire/Transfer button in the Employees tab
- Minimap now tracks vehicle position/rotation and shows remote player facing direction
- Config changes now apply instantly via native preference subscriptions
- Fixed ContactsApp portrait rendering, connection lines, and click handling
- Fixed manager clipboard detection with NPCInteract360, post-sleep NPC positioning, and Manny dialogue gating
v1.3.0 — Upgrades & Minimap
- Added manager upgrades — walk speed and carry capacity tiers purchasable from the detail page, with tiered pricing and daily wage scaling
- Added minimap overlay — configurable on-screen minimap with POI filtering, customer mugshot markers, time/day display, zoom levels, and hotkey toggle
- Added handover Smart Fill — quality-aware auto-fill on the handover screen with a two-phase fill/boost button
- Added alternate hire mode — hire managers directly from the OTC app per-business, for mod compatibility
- Added Mono build support with dual IL2CPP/Mono packaging
- Drifters now check vanilla pricing — overpriced products are skipped, and lingering drifters are cleaned up at day rollover
- Fixed client mugshot misframing, inventory icon display, manager card layout, and Vic quest marker position
v1.2.2 — Manager App
- Added Managers tab in the OTC phone app — list view with status cards, detail page with mugshot, live inventory, locker balance, and real-time minimap tracking
- Added per-manager debug log — in-app console page with a ring buffer of recent manager activity
- Added granular status display — managers now show sub-states like "Supply Run - Purchasing" and "Distribution Route 2 - Depositing", synced to clients in multiplayer
- Rewrote mugshot generation — all NPCs now use runtime capture with content validation, fixing client mugshot bleed-through
- Managers now deposit items before shopping for more, and only pick up what the destination can hold
- Fixed NPC spawning crash when SteamNetworkLib is not installed
- Fixed quest progress carrying over between save loads
- Fixed wage payment interrupting managers mid-run
v1.2.1 — Manager Polish
- Added job rotation, map markers, and a verbose logging toggle
- Added pre-baked mugshots for Vic, Static, and Bella
- Managers now rotate between supply runs and distribution routes, walk 1.8x faster, and freeze during inventory viewing
- Managers now block new jobs at 4 AM and respect hardware store hours grace period
- Fixed distribution infinite loop when destination storage is full
- Fixed manager mugshots not loading on second save load
- Renamed all log output to use
OTC:prefix for easier filtering - Fixed dealer contracts appearing in the delivery manifest
- Fixed IL2CPP dialogue crash on scene reload
v1.2.0 — Managers
- Added Manager system — hire employees from the Fixer, assign lockers for wages and inventory, configure via clipboard panel, and send them on supply runs and distribution routes that persist across saves
- Added Bella NPC and Executive Privilege quest — new quest line that unlocks 24/7 warehouse access with drug handover validation and multiplayer sync
- Added Smart Fill per-contract packaging — Smart Stash now groups items by contract with a compact manifest toggle, and includes drifter deals
- Added System toggle settings — individually enable or disable desperation deals, drifters, and managers from the config
- Added single-player support without SteamNetworkLib dependency
- Added filter-aware storage — managers respect storage rack filters when depositing and retrieving items
- Fixed delivery window filtering for overnight contracts and desperation/drifter deals
- Fixed multiplayer quest desync with state reconciliation
- Fixed drifter inventory clone, spawn rate, journal cleanup, and phantom unread badge
- Fixed dealer HUD leak, Static rotation, and Vic dialogue issues
v1.1.1 — Bug Fixes
- Fixed drifter Customer component starving vanilla deal generation
- Fixed stale dialogue data persisting across Vic and Static NPC conversations
v1.1.0 — Drifters
- Added Drifter system — random one-time customers with unique appearances roam the streets and text you to buy, with robbers, narc stings, region-scaled spawning, and 35+ hotspot locations
- Added multiplayer support for drifters — fully synced between host and clients
- Fixed Vic intro text re-sending after reloading a save
- Fixed a crash caused by null avatar settings list
v1.0.5 — Desperation Overhaul
- Desperate NPCs now run to the deal location instead of walking
- Fixed desperation deal event persisting after a successful delivery — added post-deal cooldown
- Fixed desperation response buttons staying on screen after the offer timed out
- Fixed desperation multiplayer sync for client handover, deal acceptance, and contract expiry
- Fixed ContactsApp initialization race condition in multiplayer
- Multiplayer config override improvements
v1.0.4 — Stability
- Cleaned up excessive debug logging for a quieter MelonLoader console
- Reduced stale quest cleanup log spam
v1.0.3 — Multiplayer Sync Fix
- Fixed multiplayer client state sync regression where the second NPC to spawn would lose host state
v1.0.2 — Save State Fix
- Fixed Static's subscription state persisting across different save files (loading a new save no longer carries over progress from a previous one)
- Added dialogue refresh guards to prevent stale NPC dialogue
- Fixed stale config sync data bleeding between save loads
v1.0.1 — Packaging & Polish
- Added Thunderstore package support with auto-versioned build script
- Updated in-game app icon
- Added CC BY-NC-SA 4.0 license
v1.0.0 — Initial Release
- Vic the bank teller — money laundering NPC behind the bank with a multi-stage quest line (Rinse Cycle journal quest, cash deposits, tier-2 trust progression, sleep-triggered intro)
- Static the casino NPC — subscription service with tiered upgrades, weekly bank billing, sales pitch dialogue with fee traps and suspension terms
- OTC phone app — tier-gated in-game phone app with paywall, region locks, GPS customer pins, and billing countdown
- CustomersApp — phone app with map integration for tracking your customers
- Desperation deal system — desperate NPCs send you deal offers with a location picker UI
- Smart Stash overlay — delivery manifest and one-click Smart Fill for storage containers
- Multiplayer support — client-host quest sync via Steam lobby data, host-authoritative config sync
- Configurable settings — centralized MelonPreferences config exposed through Mods App