✨ Status Effects Samples — Scenes & Integrations¶
The Status Effects Samples folder contains demonstration scenes, helper setups,
and illustrative netcode patterns that showcase the Status Effects system in action.
These samples are intended for learning, debugging, and prototyping — not for
production builds.
📂 Folder Layout¶
Samples/StatusEffects/
Scenes/ // Demonstrations of stacking, dispels, CC, auras, shields, etc.
NetcodeSamples/ // Fusion, Mirror, NGO example binders + proxies
Demo scaffolding used by these scenes lives in the shared DemoSupport layer, not inside the Samples folder.
🎬 Sample Scenes¶
Each scene focuses on a core Status Effects concept.
Recommended order for learning:
| Scene | Demonstrates |
|---|---|
| 00_StatusBasics_Stacking | Apply / refresh / remove, stack caps, per-source policies. |
| 01_Cleanse_Dispel_Immunity_Resistance | Cleanse by tag, dispel by type/tier, immunity, resistance gates. |
| 02_Potency_Auras | Potency overrides, aura zones, recompute rules. |
| 03_Movement_CC | Slows, hastes, stuns — integrates with MovementSpeedScaler. |
| 04_Shields_Thorns_Bridges | Shield pools + thorns/reflect integration. |
| 05_Snapshots_Authority_Time | Snapshots, authority gating, alternate time sources. |
💡 All scenes pair with Teachable Panels to show live effects, timers, stacking behaviour, and recompute flow.
🔧 Demo Support¶
Demo scaffolding used by these sample scenes lives in:
Assets/RevFramework/DemoSupport/StatusEffects/
This layer contains demo-only components that implement optional interfaces such as:
IStatusImmunityIStatusResistanceIStatusPotencyITimeSourceIDamageable(viaDemoHealth)
These components are shared by sample scenes and Teachable Panels so both can demonstrate adapter-driven behaviour without polluting runtime APIs.
They are not required in production builds.
🌐 Netcode Samples¶
Located in:
Samples/StatusEffects/NetcodeSamples/
❗ Scope Reminder > RevFramework does not implement networking, replication, prediction, rollback, or reconciliation. > These samples demonstrate authority gating patterns only — all networking behaviour is your responsibility.
Each netcode variant includes an authority binder + server proxy:
| Stack | Binder | Server Proxy |
|---|---|---|
| Fusion | StatusAuthorityBinder_Fusion |
FusionStatusServerProxy |
| Mirror | StatusAuthorityBinder_Mirror |
MirrorStatusServerProxy |
| NGO | StatusAuthorityBinder_NGO |
NgoStatusServerProxy |
⚠️ These are illustrative patterns only — they demonstrate how to gate mutation via
IStatusAuthority, but do not implement replication, rollback, or prediction.
🧠 Tips¶
- Scenes reflect real runtime behaviour — stack changes, potency recalculation, CC transitions, auras, etc.
- Demo support scripts are intentionally minimal for clarity.
- Teachable Panels provide live insight into tick timers, durations, and recompute flow.
- Copy/paste patterns into your prototypes as needed.
⚠️ Gotchas¶
- Samples live in Editor-only assemblies — they won’t bloat builds.
- Netcode examples require defines (
REV_USE_FUSION,REV_USE_MIRROR,REV_USE_NGO). - Sample visuals (icons, materials) are placeholders.
🔗 Related Documentation¶
- Runtime / Status Effects — core controller and lifecycle
- Auras — potency and area-based scaling
- Authority — mutation gating for netcode
- UI — buff bar and icon rendering helpers