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
Unified BepInEx all-in-one modding pack - plugin framework, detour library
Preferred version: 5.4.2109RiskofThunder-R2API_Director
API for easily modifiying the Director (RoR2 monster / interactable spawner) behaviour
Preferred version: 1.1.1RiskofThunder-R2API_Language
API for modifying the language localisation of the game
Preferred version: 1.0.1RiskofThunder-R2API_Loadout
API for registering skills, skins and entity states
Preferred version: 1.0.2RiskofThunder-R2API_Networking
Networking API around the Unity UNet Low Level API (LLAPI)
Preferred version: 1.0.2RiskofThunder-R2API_Orb
API for creation and management of custom Orb types.
Preferred version: 1.0.1RiskofThunder-R2API_Prefab
API for Prefab creation, networking and duplication
Preferred version: 1.0.3RiskofThunder-R2API_SceneAsset
API for retrieving assets that live exclusively in game scenes
Preferred version: 1.1.1RiskofThunder-R2API_TempVisualEffect
API for adding custom temporary visual effects for characters.
Preferred version: 1.0.2RiskofThunder-R2API_Unlockable
API for adding custom achievements and unlockables
Preferred version: 1.0.2README
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 typingR2API
.
- The packages are available under the
- You can access this in Visual Studio by right clicking your project within the Solution Explorer, and installing packages through that manager directly:
-
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:
<PackageReference Include="R2API.Networking" Version="1.0.2" />
- You can find these lines for each package on the Risk of Thunder nuget account.
-
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