Miooowo.Sts2.Templates
0.0.4
dotnet new install Miooowo.Sts2.Templates@0.0.4
Miooowo.Sts2.Templates
dotnet new templates for creating Slay the Spire 2 mods that use RitsuLib.
NuGet package: Miooowo.Sts2.Templates
Full setup guide: Wiki → Setup
Slay the Spire 2 is in Early Access. Game updates can break mods. These templates currently target game API 0.110.1 (beta-oriented
STS2.RitsuLibpackage).
Templates
| Template | Short name | Use when |
|---|---|---|
| Slay the Spire 2 Character | miosts2charmod |
New playable character (starter deck, relic, pools) |
| Slay the Spire 2 Content | miosts2contentmod |
Cards / relics / potions / events without a new character |
| Empty Slay the Spire 2 Mod | miosts2mod |
Minimal RitsuLib mod shell |
Prerequisites
- Slay the Spire 2 installed via Steam
- .NET SDK 9+
- MegaDot (or matching Godot .NET 4.5.1)
- A C# IDE (Rider recommended; use a classic
.sln, not.slnx) - Runtime install of STS2-RitsuLib in the game
modsfolder (GitHub releases or Steam Workshop if available)
Install the templates
dotnet new install Miooowo.Sts2.Templates
To update later:
dotnet new install Miooowo.Sts2.Templates --force
Create a project (CLI)
Important: put the solution and project in the same directory (required for Godot). Prefer -o so files are not spilled into your current folder.
# Character mod
dotnet new miosts2charmod -n MyCharMod --ModAuthor "YourName" -o MyCharMod
# Content mod
dotnet new miosts2contentmod -n MyContentMod --ModAuthor "YourName" -o MyContentMod
# Empty mod
dotnet new miosts2mod -n MyMod --ModAuthor "YourName" -o MyMod
In Rider: File → New Solution, pick one of the three templates, enable Put solution and project in same directory, use a name without spaces, and keep the .sln format.
After creating the project
- Create
Directory.Build.propsnext to the.csproj(not shipped by the template) and setGodotPathto your MegaDot/Godot executable. If Steam path discovery fails, also setSts2Path. - Edit
{ProjectName}.jsonfor display name / description. Do not changeid. Keep theSTS2-RitsuLibdependency. - Build copies the
.dll(and.json) into the game mods folder — enough for C#‑only changes. - Publish runs Godot and produces a
.pck— required after changing localization, images, or scenes.
Example Directory.Build.props:
<Project>
<PropertyGroup>
<GodotPath>C:/path/to/MegaDot_mono_win64.exe</GodotPath>
</PropertyGroup>
</Project>
Localization notes
Model text keys follow the RitsuLib analyzer format:
{MODID}_{CATEGORY}_{ORIGINAL_ID}.title / .description
Example: MY_MOD_CARD_STRIKE.title
The Character template ships starter eng / zhs localization and can be launched for a smoke test after Publish.
Templates reference Miooowo.STS2RitsuLib.ModAnalyzers (*) for localization and asset-path diagnostics.
Next steps
- Wiki Setup (English)
- Wiki Setup (中文)
- RitsuLib tutorials
- STS2-RitsuLib
- Broader STS2 topics (decompiling, debugging): Alchyr ModTemplate wiki
Getting help
Ask in #sts2-modding on the Slay the Spire Discord.
-
net9.0
- No dependencies.
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
Add Content mod event/ancient samples with Vakuu-style 9 ancient relics, card-art placeholder fallback via RitsuLib, and bilingual template docs.