RevFramework Documentation¶
This folder contains the bundled documentation for RevFramework systems.
Each system has its own README covering purpose, architecture, setup, and integration.
Audience
RevFramework is designed for developers comfortable with C# scripting in Unity.
If you’re looking for a no-code solution, this isn’t the right tool.
Start Here¶
If you're new to RevFramework, read this first.
It explains: - how to approach the framework - how to navigate the docs - how to avoid extending the wrong layer - how to learn using Teachables and Samples
The welcome window, and how to get it back
RevFramework opens a welcome window on your first import, with shortcuts to the documentation, the free test-suite download, and the Discord. It is shown once ever, not once per project, so it will not appear again in later projects — that is deliberate, not a fault.
Open it whenever you want from Tools ▸ RevGaming ▸ RevFramework ▸ Help ▸ Show … Welcome. Each package has its own entry, and an entry stays greyed out unless the systems it covers are actually installed — so a single-SKU install shows one live option, and a Complete install can open any of them.
Module Availability & SKUs¶
RevFramework documentation describes the entire modular ecosystem.
Some systems referenced here may belong to separate SKUs and may not be present in your project unless you’ve purchased that module.
This is intentional
- Systems integrate automatically when present
- No system is required unless explicitly stated
- Missing modules do not cause errors or broken behaviour
- Missing systems are treated as absent, not misconfigured
Documentation always shows how systems can work together — not what you must have installed.
Core Systems¶
Inventory¶
Handles items, containers, equipment, and runtime item logic.
Pickups¶
World pickups and interactables with modular effect delivery.
Crafting¶
Recipe-driven item creation with validation and modifiers.
Health¶
Damage, healing, shields, and combat rule pipelines.
Status Effects¶
Buffs, debuffs, DOTs, HOTs, and controller-driven lifecycle.
Currency¶
Ledger-based value system with policies and transactions.
Economy¶
High-level orchestration across money and items.
How to Use These Docs¶
Each system folder contains:
- Overview → what it does
- Mental Model → how it works
- Public API → what is supported
- FAQ → decision guidance
- Integration Surfaces → extension points
- Guarantees Matrix → behavioural contract
You do not need to read everything — follow the path that matches your goal.
Integration Language (Important)¶
Documentation uses presence-based language:
- “If Currency is present…”
- “When Inventory is available…”
This is deliberate.
RevFramework systems: - work standalone
- expose integration hooks
- activate additional behaviour only when other modules exist
No hidden dependencies. No forced bundles.
Events: C# first or designer first?¶
Every system raises its events in two flavours — a C# event for code, and a serialized UnityEvent for hooks wired in the inspector. Which of the two fires first is a per-system fact, not a framework-wide guarantee, and it is not the same in every system:
| System | Order |
|---|---|
| Currency | C# event, then the designer UnityEvent |
| Crafting | C# event, then the designer UnityEvent |
| Health | Designer UnityEvent, then the C# event |
| Status Effects | Designer UnityEvent, then the C# event |
Each system's order is pinned by a test, so it will not change under you without that being a deliberate, visible decision. What you should not do is learn the order from one system and rely on it in another — that is the one mistake this table exists to prevent.
If you have a designer hook and a code handler that must run in a known order relative to each other, do not lean on the raise order at all. Have one of them do the work and the other observe the result, or sequence them yourself from a single entry point.
Why they differ, and why they have not been unified
It was not a decision, it was drift — four systems written at different times. Unifying them now would silently reverse the order for anyone whose project already depends on the current one, in the two systems that raise the most events. The cost of that outweighs the tidiness, so the behaviour is documented and pinned instead of changed.
Missing Systems¶
If a system is not installed:
- Integration paths are skipped
- No errors are thrown
- Core behaviour continues normally
SKU Overview (Reference Only)¶
| System | Inventory SKU | Health SKU | Economy SKU | Complete |
|---|---|---|---|---|
| Inventory | ✅ | ❌ | ❌ | ✅ |
| Pickups | ✅ | ❌ | ❌ | ✅ |
| Crafting | ✅ | ❌ | ❌ | ✅ |
| Health | ❌ | ✅ | ❌ | ✅ |
| Status Effects | ❌ | ✅ | ❌ | ✅ |
| Currency | ❌ | ❌ | ✅ | ✅ |
| Economy | ❌ | ❌ | ✅ | ✅ |
Online Documentation¶
RevFramework Documentation Site
Quote
💡 Use one system, several, or the whole bloody lot.