Common utilities and building-blocks for every other RisingV mod. This library provides a set of APIs and utilities that make it easier to create and manage mods for V Rising. RisingV.Shared is designed to be an unopinionated library that does not depend on any other RisingV mod or game data (data that will break upon game updates), so it can be used standalone.
“RisingV.Shared is a shared mod for V Rising that allows you to use RisingV mods.
It provides a set of APIs and utilities that make it easier to create and manage mods for V Rising.”
Features
Feature | Link | Description |
---|---|---|
Aspecting | Docs | An aspect wraps a target instance and exposes a tailored API for cross‑cutting concerns (validation, convenience methods, helper logic, etc.) while preserving the original model’s purity. |
Event bus | Docs | decoupled, async pub-sub pipeline for game-wide events. |
Engine modules | Docs | modular architecture for loading/unloading systems, processors and hooks. |
Config base | Docs | hot-reloadable config manageable class with type-safe access. |
Custom collections | Docs | generic collections like TypeKeyedMap<T> , TimestampedMap<K,V> , etc. |
Database abstraction | Docs | a database API for storing and retrieving data, with support for JSON or Maps. |
Comprehensive extensions | Docs | Class extensions for common operations on Entity, collections, strings, and more. |
File system observers | Docs | watch for file changes with a simple API. |
Manager abstraction | Docs | a base class for managing game objects with automatic object management with a lifecycle. |
Plugin base API | Docs | a base class for creating BepInEx plugins with a managed lifecycle. |
Processor system | Docs | a high-level abstraction for processing game objects/events in a type-safe manner. |
Strings and localization | Docs | a simple string localization system with support for multiple languages. |
Systems | Docs | a high-level abstraction for creating and managing systems for use in RisingV mods. |
Logging facade | Docs | a unified logging interface with support for tagging and levels. |
Utilities | Docs | various utility classes for common tasks. |
Note: This may not be the entire list—refer to the API docs for every class, interface, and extension method that RisingV.Shared provides.
Installation
dotnet add package RisingV.Shared
- Prerequisites
- V Rising (vanilla game/dedicated server installed)
- BepInEx (version compatible with your V Rising installation)
- Build/Download
- Clone or download the latest
RisingV.Shared.<version>.zip
from the Releases.
- Clone or download the latest
- Deploy
- Extract the zip file to your
/BepInEx
directory.
- Extract the zip file to your
Quick start
// Added to your plugin class
[BepInDependency("RisingV.Shared")]
Configurations
RisingV.Shared.Config
has a base class configuration management class BaseConfig
. This allows you to define your plugin's configuration in a type-safe manner, with support for hot-reloading and easy access to configuration values. It also means that majority of the systems/components in the RisingV ecosystem can be configured via json files.
BepInEx/configs
└── RisingV.Shared
└── RisingV.Shared.cfg
Documentation
For a deeper dive, API reference, and design docs see https://docs.risingv.dev/shared.
Contributing
PRs that add new functionality—or improve existing ones—are warmly welcomed. Please open an issue first if you plan a large refactor. See CONTRIBUTING.md for more information.
Community
Join the V Rising Mod Community Discord for modding support, updates, and discussions!
License
GNU GPL-3.0. See LICENSE for details.