Schedule I modding
Call Schedule I game code from one mod without hand-writing every Mono and IL2CPP difference.
S1Interop creates small MelonLoader projects, generates backend-neutral game-type facades, checks existing mods for interop problems, and tests migrations in temporary copies.
Start small
Get one result, then add the next piece.
Build and load one DLL
Create a project, set local paths, build it, copy the DLL into Mods, and check the exact log message.
Add one game type
Generate a PlayerCamera facade, check the IL2CPP reference surface, or analyze an existing mod.
Know when to use S1API
Keep items, NPCs, quests, UI, and save workflows in S1API. Use S1Interop for the direct game access left over.
Work with an existing mod
Start with read-only analysis, then choose diagnostics, separate runtime builds, or a backend-neutral migration.
Fix the first error
Match missing paths, package restores, generated symbols, runtime detection, and migration failures to concrete checks.
Go deeper
Read these when the basic project works.
Generated facades
Generate `S1Interop.ScheduleOne.*` facades from local reference metadata instead of hand-maintaining wrapper catalogs.
Generated at build time
The Roslyn generator emits facades, registries, and diagnostics during compilation. See what is generated and when symbols appear.
Local paths stay local
Use ignored `local.build.props` files for each developer's Mono and IL2CPP game installs.
Verification paths
Run quick, portable, and real-mod integration tests without mutating a developer's real mod checkout.
Real-mod evidence
Track which real Schedule One mods have exercised the migration and backend-neutral paths so claims stay grounded.