Follow the link beside your question. For an ordered introduction, use the beginner learning path. For an unfamiliar word, use the glossary.
Setting up from scratch? Start with the complete .csproj tutorial. Operating systems covers Windows, Linux, SteamOS, and macOS development and testing choices.
Build and load
| Question | Read |
|---|---|
| What do I install and how do I organize my project? | Development workspace |
| How do I compile a DLL and put it in a local mod? | First plugin |
| What goes in modinfo.json? Which ID is a dependency? | Mod manifests |
| What do self, orig, and += mean? | C# for hooks |
| Where do I find the game method I need? | Reading game code |
Change gameplay
| Question | Read |
|---|---|
| How do I run code before or after the game’s method? | Hook lifecycle |
| How do I add an action without repeating it every frame? | Player ability and Player input |
| How do I find objects near the player? | Finding nearby objects |
| How do I spawn an item or run a behavior on entering a room? | Spawning an object and Room entry behavior |
| How do I change an instruction inside a method? | IL hooks |
Objects, movement, and saved state
| Question | Read |
|---|---|
| Why can an object exist without a physical body or room? | Abstract and realized objects |
| Where should I keep a cooldown or a value for each player? | Per-instance state |
| Is this value a preference, temporary state, or saved progress? | Saving a setting or progress |
| Why does movement look different at different frame rates? | Simulation and physics |
| How do I add an item or a new creature type? | Fisobs items, Fisobs creatures, and AI lifecycle |
Rooms and regions
| Question | Read |
|---|---|
| How do I make a room and which exported files do I copy? | Room authoring and Region folder layout |
| How do I connect rooms? Why does an exit go to the wrong place? | Room connections |
| How do I set room effects or add a placed object? | Room settings and Placed objects |
| How do I add creatures to a region? | Creature spawns |
| Why is my region, image, object, or connection missing? | Region troubleshooting |
Characters and story
| Question | Read |
|---|---|
| How do I define a custom slugcat? | SlugBase characters |
| How do I choose a starting room or campaign world? | Campaign world state |
| How do I add character-selection artwork? | Character selection art |
| How do I read a character-specific parameter from JSON? | Custom character features |
| How do I store campaign flags or change oracle dialogue? | Campaign save data and Oracle dialogue |
Graphics and sound
| Question | Read |
|---|---|
| Where do sprites get created, drawn, and removed? | Drawable lifetime |
| How do I position a sprite relative to the camera? | Camera coordinates |
| Why is a sprite missing, wrong, or colliding with another asset? | Sprite troubleshooting and Atlases and shaders |
| How do I draw a shape using vertices? | Triangle meshes |
| How do I play or package a sound effect? | Sound playback and Custom sound checklist |
Options and interface
| Question | Read |
|---|---|
| How do I add a checkbox or slider to Remix? | Remix settings |
| How does the option control my ability? | Configurable ability |
| How do I add translations and handle missing keys? | Localizing a mod |
| How do I add a HUD element or menu page? | HUD parts and Menu pages |
| How do I distinguish story, Arena, and menu state? | Processes and sessions |
Diagnose and release
| Question | Read |
|---|---|
| Which log should I read and what does the exception mean? | Reading error logs |
| How do I make a useful reproduction or check performance? | Testing a mod and Debugging and performance |
| Why is the game loading an older or different file? | Asset resolution |
| What should I check for DLC, optional mods, and multiplayer? | Optional integrations |
| What do I ship, and how do I update my Workshop item? | Release checklist and Workshop release |