Runtime/UnityIntegration¶
Unity-facing wiring. Not game logic.
Runtime/UnityIntegration contains scene-level adapters and default Unity-backed implementations for small framework seams (e.g., cooldowns, coroutine runners, input, resource loading).
This folder exists so RevFramework systems can stay decoupled, while still having a practical Unity setup that works out of the box in samples and small projects.
What this folder is for¶
- Scene-level service wiring (attach components, simple setup)
- Unity-backed implementations of framework abstractions:
ICooldownService(e.g.,SceneCooldownService)ICoroutineRunner(e.g.,UnityCoroutineRunner)IResourceLoader,IObjectFinderIInputService(e.g.,UnityInputService)- Lightweight components that implement small framework seams
- Compatibility helpers that avoid hard dependencies between optional modules
- Safe defaults so samples and teachables work without extra infrastructure
What this folder is NOT for¶
- ❌ Gameplay features
- ❌ System rules / balance logic
- ❌ Extending framework behaviour
- ❌ A required architecture for your game
If you’re building gameplay:
👉 Start in Runtime/Systems/<System> and follow that system’s Public API / Teachables.
Design Intent¶
UnityIntegration is a host adapter layer:
- Systems depend on Core abstractions
- This folder provides Unity-specific implementations of those abstractions
- Nothing here should introduce system-to-system coupling
These implementations are:
- optional
- replaceable
- intentionally simple
You are free to:
- use them as-is
- replace them with your own services
- ignore them entirely if your project already has infrastructure
Reflection note (important)¶
Some utilities use reflection to support optional dependencies (e.g., Input System support without requiring the package).
This is compatibility glue — not a pattern to copy into gameplay systems.
If you need reflection to integrate gameplay, a supported seam is missing — reach out.
TL;DR¶
This folder makes RevFramework easy to drop into a Unity scene with minimal setup.
Use it, replace it, or ignore it — but don’t build gameplay systems here.