Skip to content

✨ 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:

  • IStatusImmunity
  • IStatusResistance
  • IStatusPotency
  • ITimeSource
  • IDamageable (via DemoHealth)

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.

  • 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