Rain World

Rain World

144 ratings
[1.5] Modding Rain World: Essentials guide
By Thalber and 1 collaborators
This guide provides all information necessary to get accustomed with Rain World modding, and contains links to other vital resources on the matter.
2
8
2
   
Award
Favorite
Favorited
Unfavorite
PLEASE READ THIS
THIS GUIDE IS FOR AN OUTDATED VERSION OF RAIN WORLD! Instructions here are applicable to game version 1.5. It can be accessed through steam betas.
Overview and FAQ
Welcome, traveller.
Glad to see you here.
You might be asking several questions.
Here are answers to what we think they might most likely be.

Wait, Rain World modding exists?

Yes, it does, and it has been for quite a while. We filled the years long silence gap with ourselves.
For various reasons, most info on Rain World mods has historically been accumulated on Discord and, partially, Youtube. We are here to change this.

Is this worth trying out?

Yes, it is, given that you enjoy what Rain World already has. It can provide addittional content to a game you already enjoy, or sometimes tip the scales if you were just on the verge of liking it but always got annoyed by some particular thing.

How hard is this to get into?

More complicated than Hollow Knight folks have it: you need to know how to unzip an archive and how to move a file from folder A to folder B. If you can use your windows explorer properly, you can use Rain World mods.

What kinds of mods can I find for Rain World?

There is a bunch of stuff. We have custom regions, new playable characters, essential bugfixes and QoL improvements for vanilla, and a couple new gamemodes and challenge mods. There are several mods in development that alter the game in more substantial ways.

Where can I find all this?
Main modding hub is RainDB[www.raindb.net].
Vast majority of Rain World mods are hosted there. Mods that are not yet ready to be released for public are usually shared in the modding section of the official Rain World Discord server[discord.gg].

I might consider making my own mod someday / I want to hear some nerdy talk; any technical details?
Depending on what kind of mod you are intending, steps may vary. Adding new regions and modifying the layout of existing ones takes little to no coding knowledge, thanks to certain already existing mods; doing other things, such as adding new slugcats, mechanics, objects and so on, is done with BepInEx plugins.
Regardless of what is it you are doing, you can always ask for advice in our discord.

Speaking of vanilla code. We do not have the sources available; dnSpy standalone decompiler[github.com] or ILSpy plugin for Visual Studio[github.com] are used for inspection instead. Certain features of Rain World codebase (such as complete and utter absence of any exception handling) make debugging annoying, but it's manageable.
Resource links
Here are some links that will be useful for you.

  • Main modding hub: RainDB[www.raindb.net]
  • RainDB Wiki[raindb.fandom.com], containing basic info on most mods found on the site.
  • RW modding wiki[rainworldmodding.miraheze.org] contains guides and technical reference for making your own mods for Rain World.
  • Old modding wiki[rain-world-modding.fandom.com] is a deprecated predecessor of the point above.
  • Rain World main Discord server[discord.gg], where you can usually get technical support for mods of most kinds. Be calm, have patience, and we will do what we can to help you through.
Getting started: modloaders
To run pretty much any Rain World mod, you will need a mod loader. There are two options available: BepInEx and Realm.

BepInEx
Generic unity modloader adapted for Rain World. Can be obtained here[beestuff.pythonanywhere.com]. Does not have a UI of its own, but can be used with BOI mod manager[github.com].

NOTE: for backwards compat reasons default bepinex installations are not suitable; in order to load basically every mod we have so far, you need to use this specific version linked above.

Installed by unpacking into Rain World's root folder; will magically run next time you launch the game.

This video covers the basics of using BepInEx and BOI with Rain World:

In case you don't want to watch it for whatever reason:

When using BOI, all mods can be put into [Rain WorldMods] ; you can then "enable" them in BOI to automatically move to correct folders and rename if needed.

In case you are not using BOI: "hook mods" go into Rain [WorldBepInExplugins]; "patches" go into [BepInExmonomod]. Patches should be renamed like this: "Assembly-CSharp.[your_mod_name_here].mm.dll". Note that having patches enabled slows down game startup significantly (don't ask why, they are just cursed).

ATTENTION: Some older mods are said to require PublicityStunt in order to work Ignore this dependency and do not install PublicityStunt. BepInEx has a built in replacement (Dragons.PublicDragon), while using PublicityStunt itself may cause crashes.

Realm
Realm is like BepInEx on crack: it boots up faster, allows swapping out and installing mods without closing the game, and also doesn't give as much about backwards compat. Can be obtained here[github.com].

Installation process is simplified as much as possible: install Realm by running UserInstaller.exe while game is not running; install mods by throwing them into [Rain World/BepInEx/plugins]; .dll and .zip files are consumed. Do not attempt to install: EnumExtender, AutoUpdate, PublicityStunt or LogFix (their replacements are already included or rightfully omiitted).

Some older mods are flat out incompatible; some work but break when you reload. Realm is still in beta, treat it accordingly.
Installing mods
After you've chosen what you want to grab and enhance your rain world experience with, it is install time.

Rain world mods come in several types, and for each of them has different installation procedures. This section contains essential info about all of them, as well as description of normal installation process.

ATTENTION: ALWAYS CONSULT A MOD'S README WHEN INSTALLING SOMETHING (if there is one). Some code mods depend on each other in order to work, some region packs have additional dependencies, some things just don't go together. This guide can not and will not cover all possible situations.

Code mods
come in form of .dll files. They are installed via your mod loader (Partiality Launcher or BepInEx). BepInEx loads all mods it can from [Rain WorldBepInExplugins] and [Rain WorldBepInExmonomod], depending on their type; Realm grabs everything from [Rain World/BepInEx/plugins/].

Code mods are subdivided into two categories:
  • hook mods
  • patch mods

Hook mods live in [BepInEx/plugins/] if you are using BepInEx and can usually be reloaded in-game by Realm. Commonly made.

Patch mods live in [BepInEx/monomod/] and increase boot times when using BepInEx; can not be reloaded by Realm. Old technique, not used anymore; almost all of them are deprecated.

Region packs
are world edits or expansions. They are shipped as .zip archives.
Region packs are used through Custom Regions Support[github.com] (or CRS for short) by Garrakx.

HOW TO INSTALL A REGION PACK USING CRS:
After downloading and installing Custom Regions Support and all of its dependencies, run the game once and check the mod config screen to see if everything is working correctly.

OPTION 1: CRS INSTALLER
Open CRS config screen and select "Browse RainDB" tab. Scroll through, find something that interests you, click "install", wait. You can quit the menu and download will still continue (although progress bar will be broken if you reenter... also don't quit the game). The same screen also allows you to bring your region mods up to date.

OPTION 2: MANUAL
For each region pack you want to install manually (usually needed if it's not in CRS downloader), put the one folder from the archive that would otherwise be merged with the game's folder into Rain WorldModsCustomResources. This folder is sometimes named "Rain World"; if that is the case, change its name to match the name of the actual region pack.
Run the game again if you already closed it, or press "Reload" on CRS's config screen. If you unpacked everything correctly, CRS will recognize the region pack, download its thumbnail if one is available, and display the pack's description.
Navigate to the regpack's folder inside ModsCustomResources. CRS creates a regionInfo.json or packInfo.json file (depending on the version used). Open it in the text editor and see if everything looks correct. If you don't know if a thing looks correct or not, assume it is correct.
Region pack should now be applied to the world.

ATTENTION: ALWAYS RESET YOUR SAVEFILE WHEN ADDING OR REMOVING REGION PACKS. Savefile corruption is INEVITABLE and WILL lead to severe bugs and eventual crashes if you do not reset. Resetting your savefile does not remove arena unlocks.

FOR MOST DETAILED INFO ABOUT CRS, CONSULT ITS README[github.com].

Some region packs have code mods as dependencies; using CRS downloader installs these automatically.

Standalone mods
are the most ancient kind. They are installed by replacing Assembly-CSharp.dll (which contains all of the game's code) entirely with a manually patches version (usually edited directly with dnSpy). This is rather clunky and not entirely legal. There are just two and a half standalone mods for RW 1.5 out there (Side House and Buffed Creatures). All of them are installed by folder merge.

As the name suggests, standalone mods are incompatible with each other. You can try applying Partiality or BepInEx to them like you would to a normal game; this usually doesn't outright break anything if you only apply smaller mods on top.
Troubleshooting: logs and twigs
Here are suggested solutions for most common issues that can arise while you are dealing with mods.

First and foremost:
Where are the logs?
Logging is disabled in vanilla and logs only appear when a modloader is properly installed.
Generally, whenever you are having trouble and want to get help, you will need to send one or more of those:

ExceptionLog.txt from Rain World root folder - all exceptions thrown are recorded here.
ConsoleLog.txt from root folder - debug messages from vanilla and mods that utilize the same logging listener.
Err.log and LogOutput.log - appear if you are using BepInEx, in root RW and BepInEx folders accordingy. Those are recorded by BepInEx and contain its own logs.

ATTENTION: IF YOU DON'T HAVE AT LEAST BASIC KNOWLEDGE ON RAIN WORLD ARCHITECTURE, YOU WILL NOT UNDERSTAND MUCH FROM THOSE LOGS. Rule of a thumb here is to ask an actual modder about what's happening. You can do that in our modding support channels (see Resource Links section).

I wanted to install a mod, but now my game crashes/freezes!
Check if you have all the dependencies. If a mod has external dependencies, they are marked under a special icon on RainDB; if the mod has a readme file, dependencies are also listed there.
Core libraries such as ConfigMachine and EnumExtender are located in the Tools tab of RainDB. Don't forget search tool exists.

I wanted to install a mod, did everything and launched the game, but nothing has changed!
Check if the modloader is installed correctly (logs are recreated at every launch). Check if you are not missing dependencies, and are looking at a right thing to determine whether things work.

I'm trying to use FancySlugcats/CustomTails to change player skin, but things break!
The game crashes/I'm getting a broken character!
You've messed something up while creating an atlas, or set one or more sprite names incorrectly in FancySlugcats config screen. Triple check instructions for CustomAssets and fancy slugcats and make sure you followed them correctly. If you are still failing to identify the issue, ask for help in modding channels.

Sprite colors are incorrect / some bodyparts disappear when I apply colours!
When you select colours in Custom Slugs config menu, those colours get mixed with sprites' base colours. If the resulting colour is too dark (too close to #000000), a bodypart might be rendered invisible. To avoid this, make base sprite lighter and/or set body/eyes colours to full white in fancyslugs config screen.

I installed a region pack, but my game freezes when I load the save / enter a gate!
Steps here:

Make sure you wiped your savefile after installing a regpack/changing regpack load order. If you didn't, do it now.

Check if you installed the regpack correctly. For example: if you are installing Aether Ridge, contents of [] should look like this:

Assets or Levels can not be there with certain regpacks, but World folder is generally a requirement.
regionInfo.json for Aether Ridge should look like this:

Most meaningful part here is regionID.

Make sure that base game files are not modified. Use CRS for all regpacks and don't folder-merge.

My game is a gentle blue rectangle!
Usually a result of a missing dependency, usually usually EnumExtender (doesn't happen with Realm).
Conclusion
We hope that this guide serves as a decent starting point in your journeys through Rain World modded content. It does not have all the links you will possibly need, neither does it cover all possible issues, but hopefully it has just enough of everything.

See you, space slugs. Make peace.
Guide changelog
22.04.2022: removed all mentions of deprecated software and installation methods.
19.10.2022: Updated modding wiki link.
32 Comments
Ŝ𝕋𐌀𝕥𝐈ς 𐌅🅡EaK 31 Mar, 2023 @ 4:44pm 
i had to delete my bepinex file to fix my black screen. now my workshop mods wont activate when it says they are activated. please help.
Eyes_in_[VOID] 16 Mar, 2023 @ 10:44am 
What are the exact input for the arrows that change when the mod loads? I think they change priority (meaning it prioritizes a single mod that may function similarly to another mod ,I think), but which arrow does what? Do I want the important stuff at the top, or the bottom? CAN I DRAG AND DROP INSTEAD OF HAVING TO CLICK IT UP AGAIN AND AGAIN?
Wandering Stars 21 Jan, 2023 @ 7:11am 
it also says that i dont have dragons.core.patcher: System.ArgumentException: Object of type 'System.String' cannot be converted to type 'System.String[]'.
Wandering Stars 21 Jan, 2023 @ 7:09am 
im looking into the answer to the "i did everything correctly, but nothing has changed" but what am i supposed to even look at
Thalber  [author] 18 Oct, 2022 @ 9:16pm 
@Niko this guide [gist.github.com] describes modding RW on the Deck. At least some of it should be applicable to usual linux machines.
Eevote 17 Oct, 2022 @ 10:26pm 
No linux :(
Omnomnom:] 28 Sep, 2022 @ 8:24pm 
Is there a mod that removes the animations at shelters and gates? They are very slow.
ZombieMan101 22 Sep, 2022 @ 11:09pm 
i dont remember asking tbh
V2 7 Mar, 2022 @ 2:49pm 
thanks for the help man
Corwin 13 Feb, 2022 @ 9:08am 
:sluggy: