RevFramework — Status Effects • Unity Integration¶
Optional Unity-facing components that support status math resolution and provider aggregation.
This folder contains MonoBehaviour-based helpers that integrate the Status Effects system into Unity GameObject workflows.
🎯 Purpose¶
Provides optional components that:
- implement
IStatusMathService - optimise status math using cached provider lookups
- bridge abstract contracts into Unity component patterns
These are convenience and performance helpers, not required system components.
🧠 Usage Guidance¶
The Status system defines math via IStatusMathService.
Without setup, math is resolved via StatusUtility:
- simple
- queries providers per call
This folder offers an alternative:
- component-based math service
- cached provider aggregation
Choose between:
- simple (no setup)
- optimised (component-driven)
🧩 What Lives Here¶
DefaultStatusMathService¶
MonoBehaviour implementation of IStatusMathService.
Behaviour:
- uses
StatusProviderAggregatorwhen present - falls back to
StatusUtilityotherwise
StatusProviderAggregator¶
Caches provider components on a GameObject:
IStatusPotencyIStatusResistance
Behaviour:
- collects providers on enable
- clears cache on disable
- supports manual
Rebuild()
Notes:
- scans components on the same GameObject
- does not traverse hierarchy
📦 Folder Overview¶
- component-based math service
- cached provider aggregation
- fallback compatibility with base system
⚠️ Important Notes¶
- This folder changes how math is resolved, not the math rules
- Removing the aggregator falls back to
StatusUtility Rebuild()is required if providers change at runtime- Components are optional and not required for system operation
🧪 Diagnostics¶
Common pitfalls:
- expecting aggregation across hierarchy (not supported by default)
- forgetting to rebuild cache after runtime changes
- assuming this layer changes gameplay behaviour
🚫 Not for Production Use¶
- this folder does not implement lifecycle logic
- this folder does not define stacking or authority rules
- this folder does not contain effect behaviour
🔗 Related Documentation¶
- Abstractions →
IStatusMathService, providers - Core → controller and lifecycle
- System →
StatusUtilityfallback helpers
🧠 Mental Model¶
This layer optimises how math is resolved.
It does not change what the math is.