tristanmcpherson-R2API icon

R2API

A modding API for Risk of Rain 2

Last updated 2 years ago
Total downloads 4158081
Total rating 354 
Categories Libraries
Dependency string tristanmcpherson-R2API-5.0.5
Dependants 3038 other packages depend on this package

This mod requires the following mods to function

bbepis-BepInExPack-5.4.2109 icon
bbepis-BepInExPack

Unified BepInEx all-in-one modding pack - plugin framework, detour library

Preferred version: 5.4.2109
RiskofThunder-HookGenPatcher-1.2.3 icon
RiskofThunder-HookGenPatcher

MMHOOK generation at runtime.

Preferred version: 1.2.3
RiskofThunder-R2API_ArtifactCode-1.0.1 icon
RiskofThunder-R2API_ArtifactCode

API for making Artifact Codes

Preferred version: 1.0.1
RiskofThunder-R2API_CommandHelper-1.0.1 icon
RiskofThunder-R2API_CommandHelper

API for registering console commands

Preferred version: 1.0.1
RiskofThunder-R2API_ContentManagement-1.0.1 icon
RiskofThunder-R2API_ContentManagement

API for adding content to the game

Preferred version: 1.0.1
RiskofThunder-R2API_Core-5.0.10 icon
RiskofThunder-R2API_Core

Core R2API module

Preferred version: 5.0.10
RiskofThunder-R2API_DamageType-1.0.4 icon
RiskofThunder-R2API_DamageType

API for registering damage types

Preferred version: 1.0.4
RiskofThunder-R2API_Deployable-1.0.1 icon
RiskofThunder-R2API_Deployable

API for adding custom deployables

Preferred version: 1.0.1
RiskofThunder-R2API_Difficulty-1.1.1 icon
RiskofThunder-R2API_Difficulty

API for adding custom in-game difficulties

Preferred version: 1.1.1
RiskofThunder-R2API_Director-1.1.1 icon
RiskofThunder-R2API_Director

API for easily modifiying the Director (RoR2 monster / interactable spawner) behaviour

Preferred version: 1.1.1
RiskofThunder-R2API_Dot-1.0.1 icon
RiskofThunder-R2API_Dot

API for adding custom damage over time effects

Preferred version: 1.0.1
RiskofThunder-R2API_Elites-1.0.2 icon
RiskofThunder-R2API_Elites

API for adding custom elite types

Preferred version: 1.0.2
RiskofThunder-R2API_Items-1.0.3 icon
RiskofThunder-R2API_Items

API for adding custom items

Preferred version: 1.0.3
RiskofThunder-R2API_Language-1.0.1 icon
RiskofThunder-R2API_Language

API for modifying the language localisation of the game

Preferred version: 1.0.1
RiskofThunder-R2API_Loadout-1.0.2 icon
RiskofThunder-R2API_Loadout

API for registering skills, skins and entity states

Preferred version: 1.0.2
RiskofThunder-R2API_LobbyConfig-1.0.1 icon
RiskofThunder-R2API_LobbyConfig

API for modifying the in-game lobby rules

Preferred version: 1.0.1
RiskofThunder-R2API_Networking-1.0.2 icon
RiskofThunder-R2API_Networking

Networking API around the Unity UNet Low Level API (LLAPI)

Preferred version: 1.0.2
RiskofThunder-R2API_Orb-1.0.1 icon
RiskofThunder-R2API_Orb

API for creation and management of custom Orb types.

Preferred version: 1.0.1
RiskofThunder-R2API_Prefab-1.0.3 icon
RiskofThunder-R2API_Prefab

API for Prefab creation, networking and duplication

Preferred version: 1.0.3
RiskofThunder-R2API_RecalculateStats-1.2.0 icon
RiskofThunder-R2API_RecalculateStats

API for manipulating Character Stats

Preferred version: 1.2.0
RiskofThunder-R2API_SceneAsset-1.1.1 icon
RiskofThunder-R2API_SceneAsset

API for retrieving assets that live exclusively in game scenes

Preferred version: 1.1.1
RiskofThunder-R2API_Sound-1.0.2 icon
RiskofThunder-R2API_Sound

API for adding custom sounds or musics

Preferred version: 1.0.2
RiskofThunder-R2API_TempVisualEffect-1.0.2 icon
RiskofThunder-R2API_TempVisualEffect

API for adding custom temporary visual effects for characters.

Preferred version: 1.0.2
RiskofThunder-R2API_Unlockable-1.0.2 icon
RiskofThunder-R2API_Unlockable

API for adding custom achievements and unlockables

Preferred version: 1.0.2

README

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 thunderstore packages.

In the dependency array of their thunderstore 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:

    <PackageReference Include="R2API.Networking" Version="1.0.2" />
    
  • Download the dlls directly from thunderstore:

    • 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 thunderstore 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