R2API
A modding API for Risk of Rain 2
About this mod Author’s original text
R2API – a modding API for Risk of Rain 2
About
R2API is a modding framework for other mods to work in, providing centralized and simplified APIs for Risk of Rain 2.
This helps keep mods compatible with each other.
At its core, R2API should not change how the game behaves without any other mod installed.
The only change is to keep mods out of quickplay and prismatic trials by request of the Hopoo Games team.
Installation
Check out this page from the R2Wiki on how to install mods
Developing mods using R2API
Since the R2API 5.0.0 version update, mod creators should ideally only reference the packages they need in their C# projects and their packages.
In the dependency array of their manifest, they should reference the R2API packages from the RiskofThunder team, for example: RiskofThunder-R2API_LobbyConfig-1.0.0
In their C# projects, they should only get the corresponding R2API submodules dll they need.
On top of the BaseUnityPlugin, you should add a BepInDependency, for example [BepInDependency(DirectorAPI.PluginGUID)]
For then adding the dependency on the C# Project level, you can do that in a multitude of ways, depending on your workflow:
- Nuget Package Manager:
- You can access this in Visual Studio by right clicking your project within the Solution Explorer, and installing packages through that manager directly:
- The packages are available under the RiskofThunder nuget account, and you can find them through the search bar by typing R2API.
- Manually adding nuget:
- We have a wiki page that also explains it
- Edit your.csproj file, and in your ItemGroup (something like this), add PackageReference lines for each R2API module you depend on:
- You can find these lines for each package on the Risk of Thunder nuget account.
- Download the dlls directly:
- Add them through the Solution Explorer, right clicking your project, Add -> Project Reference, and selecting the wanted.dll files.
- If you use Unity:
- You can download the dlls, and drag and drop the modules' dll directly into your Unity Project under any folders that are under the root Assets/ folder.
A lot of documentation is in the included xmldocs, and further information may be on the dedicated R2API wiki.
Do not hesitate to ask in the modding discord too!
Changelog
Older changelogs for this package can be found on GitHub.
'5.0.0'
- R2API modules are now split into their own package.
Mod creators should ideally only reference the packages they need in their C# projects and their packages. Please refer to the Developing mods using R2API section for more info.
If you are a mod user, there should be no difference whatsoever with this update.
If you find any issues, please tell us in the the modding discord or the GitHub repository
Install & use Install: BepInEx plugin
- The archive from playbuff is the mod itself — usually a BepInEx plugin (a .dll or a plugin folder once unzipped).
- Recommended: use a community mod manager (such as r2modman) — pick this game, import the mod, and the manager sets up BepInEx and its dependencies for you.
- Manual route: install the BepInEx loader in the game folder, then drop the unzipped .dll or plugin folder into BepInEx/plugins/.
- Launch the game — the BepInEx console logs every plugin it loads; seeing this mod in the log means it is installed.
Mods with listed dependencies need those installed too, or they will not load. Options are usually changed in-game or in the plugin's config file.
Install these first, or the mod will not work: