R2API icon indicating copy to clipboard operation
R2API copied to clipboard

A modding API for Risk of Rain 2

R2API – a modding API for Risk of Rain 2

Build Status - DEPRECATED GitHub Actions Build

RoR2 1.0 - IMPORTANT NOTICE

In the Release version of RoR2, Hopoo Games made a NetworkModCompatibilityHelper class, which can be given a mod list that is then transformed into a hash that will be checked upon client connection in multiplayer. If the hash doesnt correspond between the server and the connecting client, the connection is refused.

R2API will add mods to that mod list if they:

  • Use the NetworkCompatibility Attribute, either as an custom assembly attribute, or at the top of their plugin class inheriting from BaseUnityPlugin with the first argument being CompatibilityLevel.EveryoneMustHaveMod.
  • Don't have the NetworkCompatibility Attribute but depend on R2API (have [BepInDependency("com.bepis.r2api")] attribute).

About

R2API is a modding framework for other mods to work in, providing centralized and simplified APIs for Risk of Rain 2. This helps keeping mods compatible with each other.

At it's 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.

Manual installation

The contents of R2API should be extracted into the BepInEx folder, such that the files inside the plugins folder in the zip sit in the plugins folder in BepInEx.

Also you need to install HookGenPatcher because R2API wont function without it.

Developing

A lot of documentation is in the included xmldocs, and further information may be on the dedicated R2API wiki. Do not hestiate to ask in the modding discord too!

Changelog

The most recent changelog can always be found on the GitHub. In this readme, only the most recent minor version will have a changelog.

Current

4.3.x

4.2.x

4.1.x

4.0.11