I'm playing on macOS / Linux and not a single mod loaded and no mods work!
Proton configures Rain World to run perfect, however misses one configuration to support modding.
Rain World uses BepInEx library to load mods, and BepInEx requires winhttp library to be loaded.
But fresh Rain World installation does not have this library selected in wineconfig.
See these instructions on how to add it: https://docs.bepinex.dev/articles/advanced/proton_wine.html.
For ease of modifying wineconfig, I recommend installing protontricks (with dependencies) first.
After adding winhttp library, be sure to UNLOAD ALL mods in Remix menu, restart, and then load them back again.
I'm playing on macOS / Linux and have a black immovable screen in front / behind the game.
Ensure you are running the game with Proton version 9.0, not Experimental, not Hotfix. Changing Proton version might
reset your wineconfig, re-add winhttp library if needed (see previous question).
Prerequsites:
- .NET SDK version 10.0 (not .NET Framework!) or newer installed
- Knowledge of modern C# (version 13+)
- Knowledge of nullable reference types
- Knowledge of RainWorld modding (video not by me)
- Rain World installed
- ImGUI API mod by Rawra installed to Rain World, with dependencies
Steps:
- Go to the RainWorld installation folder (
Steam/steamapps/common/Rain World). - Copy following
.dllfiles from RainWorld folder tothirdparty/folder in repository:- From
Rain World/BepInEx/core/:BepInEx.dll - From
Rain World/BepInEx/plugins/:HOOKS-Assembly-CSharp.dll - From
Rain World/BepInEx/utils/:PUBLIC-Assembly-CSharp.dll - From
Rain World/RainWorld_Data/Managed/:UnityEngine.dll,UnityEngine.CoreModule.dll,UnityEngine.InputLegacyModule.dll
- From
- Run
dotnet tool restoreonce after you have cloned the repository. - Create
.env.localfile in the root of the repository, see.env.local.exampleas an example. - Run one of the available commands:
dotnet build- builds the solution.dotnet build src/MyProject- builds the project "MyProject";dotnet cake --target Clean --project MyProject- clears thedist/MyProjectfolder in repository and runsdotnet clean src/MyProject.dotnet cake --target PackMod --project MyProject --configuration Debug- runs target "Clean", builds the project atsrc/MyProjectinDebugconfiguration and packs the mod intodist/MyProjectfolder in repository.dotnet cake --target CopyModToRW --project MyProject --configuration Debug- runs target "PackMod" and copies the mod into Rain World mods folder. RequiresRAINWORLD_PATHenvironment variable to be set, see.env.local.examplefor details.- Default value for
--configurationisRelease; - Default value for
--projectistvardero.DearDevTools; - Default value for
--targetisCopyModToRW.
This project is licensed under the MIT License — see the LICENSE file for details.
For imported (inside thirdparty/ folder) third-party components - see
the THIRD-PARTY-LICENSES file for details.