Getting Started
To start off, you need to set up your modding environment. This guide will help you install the necessary tools and get started with modding Schedule I.
Prerequisites
- A copy of Schedule I installed via Steam.
- Familiarity with basic programming concepts and C#.
- A code editor or IDE (e.g., Visual Studio, Visual Studio Code, Rider).
- Basic understanding of Unity and MelonLoader.
Install .NET SDK 6.0 or later. You can use newer versions, like 10.0, allowing you to use the latest C# features.
Setting up your development environment
Install a Code Editor or IDE
- Download and install Rider or Visual Studio.
- If you prefer a lightweight option, you can use Visual Studio Code with extensions.
Setting up your project
Templates
- MelonLoader Mod Template - Official MelonLoader template for Visual Studio.
- S1 Mono+IL2CPP C# Project Template - Clean template with conditional compilation for Mono and IL2CPP. Includes AssetBundleUtils for loading asset bundles. By weedeej.
- Yet Another MelonMod Template with batteries included - Template featuring cross-backend (IL2CPP and Mono) compatibility, easy build and test process, automatic loading of testing mods, packaging scripts, and more. By k073l.
- S1API Template - A template project for creating Schedule One mods using S1API, supporting both Mono and IL2CPP builds with a cross-compatibility option. S1API provides common game abstractions so you can build a single assembly that works across Mono and IL2CPP, reducing reverse-engineering and setup overhead. By ifBars.
Manual Setup
If you prefer to set up your project manually, follow these steps:
Create a new C# Class Library project in your IDE. Be sure to target:
- For Mono: .NETStandard 2.1
- For IL2CPP: .NET 6.0
Include references to files you’ll need:
MelonLoader.dll(fromMelonLoader/net35orMelonLoader/net6folder in your game directory, depending on your target backend)UnityEngine.dll(from<game dir>/Schedule I_Data/ManagedorMelonLoader\Il2CppAssemblies\for IL2CPP)Assembly-CSharp.dll(from<game dir>/Schedule I_Data/ManagedorMelonLoader\Il2CppAssemblies\for IL2CPP)- other references as needed
If you are using Mono, you can also add a NuGet package - BepInEx Publicizer. Then, when you include
Assembly-CSharp.dllin your project, add this reference to publicize the types in that assembly:
<Reference Include="Assembly-CSharp" Publicize="true">
<Private>false</Private>
<HintPath><game dir>\Schedule I_Data\Managed\Assembly-CSharp.dll</HintPath>
</Reference>MelonMod.Further information can be found in Creating Your First Mod guide.
Additional Resources
Last updated 16 Nov 2025, 19:44 +0100 .