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

QuestionRead
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

QuestionRead
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

QuestionRead
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

QuestionRead
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

QuestionRead
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

QuestionRead
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

QuestionRead
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

QuestionRead
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