🎁 Pickups — Feedback¶
Folder: Runtime/Systems/Pickups/Feedback
This folder contains the optional UX layer for pickups.
It provides MonoBehaviour components that respond to pickup success or failure by playing visual or audio feedback.
🎯 Purpose¶
The Feedback layer provides presentation-only responses to pickup events.
It is responsible for:
- visual and audio feedback on success or failure
- keeping presentation separate from gameplay logic
- enabling feedback without modifying core systems
This folder does not:
- affect pickup success or failure
- modify effect execution
- participate in the pickup pipeline
📦 Folder Overview¶
This folder provides:
- interface-driven feedback hooks
- simple MonoBehaviour components for VFX and SFX
- optional, plug-in presentation behaviour
🧩 What Lives Here¶
IPickupFeedback→ success feedback contractIPickupFailFeedback→ failure feedback contract- built-in MonoBehaviour implementations for SFX and VFX
🧠 Usage Guidance¶
Success Feedback¶
void PlayFeedback(Transform at);
Invoked when a pickup succeeds.
Failure Feedback¶
void PlayFail(Transform at);
Invoked when a pickup attempt fails.
Invocation Pattern¶
if (component is IPickupFeedback fx)
fx.PlayFeedback(transform);
Notes:
- only enabled components are invoked
- execution is best-effort and should not throw exceptions
🧪 Diagnostics¶
- multiple feedback components may run together
- execution order is not guaranteed
- components should be fast and non-blocking
⚠️ Important Notes¶
- feedback does not affect gameplay logic
- feedback does not block or cancel execution
- behaviour depends on available components and configuration
🚫 Not for Production Use¶
This folder does not provide:
- gameplay logic
- pipeline control
- authority or validation
It provides presentation-only behaviour.
🔗 Related Documentation¶
- UnityIntegration
- Core
- Effects