LazyDuchess-CommonAPI icon

CommonAPI

FOR PLUGIN MAKERS - General purpose library to make modding certain aspects of the game easier. Custom save data, phone apps, interactables and more!

Last updated 2 months ago
Total downloads 37429
Total rating 0 
Categories Libraries
Dependency string LazyDuchess-CommonAPI-1.3.0
Dependants 10 other packages depend on this package

This mod requires the following mods to function

BepInEx-BepInExPack-5.4.2100 icon
BepInEx-BepInExPack

BepInEx pack for Mono Unity games. Preconfigured and ready to use.

Preferred version: 5.4.2100

README

CommonAPI

CommonAPI is a general purpose plugin library for Bomb Rush Cyberfunk, which allows modders to do a variety of things more easily.

CommonAPI was used in the Millenium Winterland SlopCrew event to drive the NPCs, cutscenes and progress saving. It was also used to pull the character shaders from the game, to make the NPCs look as accurate as possible to the other characters in the game. Santa NPC

Features

  • Easy access to BRC shaders - Simply call AssetAPI.GetShader(ShaderNames shaderName) to retrieve a character or environment shader.
  • Dialogue and Interaction systems - Create any interactable entity, such as an NPC, that can react to a button prompt from the player. Create custom sequences and dialogues completely in C# without touching the Unity Editor.
  • Custom save data - Easily create custom save data attached to individual save slots, CommonAPI takes care of automatically loading and saving, with multithreaded file writing.
  • Phone apps - Easily create a custom phone app with an user interface with buttons you can scroll through.

Examples

Check out the CommonAPI Sample Project, it showcases how to create a custom app and custom save data. Custom Phone App

Building

Make sure you have a BRCPath environment variable defined on your system, which points to the root folder of your Bomb Rush Cyberfunk installation. This way the project can find the required DLLs.

Usage

Do NOT bundle this assembly with your plugins - Simply add it as a reference in your projects and utilize the dependencies section in your plugin's manifest.json to add CommonAPI as a dependency, and do the same with the [BepInDependency] attribute in your BepInEx plugin class.