Pickups Samples — Scenes, Demo Helpers & Diagnostics¶
The Pickups Samples folder contains teachable demo scenes, lightweight helper scripts, and diagnostics tools for exploring the Pickups system.
These are intended for:
- Learning how the system works
- Debugging pickup behaviour
- Profiling and validating behaviour under stress
- Rapid prototyping
👉 They are not part of the runtime framework and are safe to remove.
Folder Layout¶
Samples/
Scenes/ // Runnable demo scenes (00–99)
DemoHelpers/ // Lightweight sample scripts (no Inventory required)
ScriptableObjects/ // Example PickupEffect assets used in scenes
Diagnostics/ // Performance smoke tests (developer-only tools)
Sample Scenes¶
Each scene demonstrates a specific part of the Pickups system and is paired with a Teachable Panel.
| Scene | Location | Focus |
|---|---|---|
| 00 — Quickstart (Minimal) | Samples/Systems/Pickups/Scenes | Standalone pickup flow (no Inventory / Health) |
| 01 — Decorators + Cooldowns | Samples/Systems/Pickups/Scenes | Decorator chains, and cooldown gating seen as a refusal |
| 02 — World Pickups + Interactables | Integrations/Pickups/InventoryIntegration/Scenes | Trigger vs input-driven pickups, Auto/Press/Hold |
👉 Open the corresponding panel in each scene to inspect behaviour live.
Only 00 and 01 live in this folder. 02 needs the Inventory system, so it ships with the integration that requires it — and it is the only scene hosting PickupsWorldAndInteractablesPanel.
How These Samples Work¶
Scene-Driven Examples¶
- All behaviour is demonstrated directly in scenes
- No prefab library or required setup is enforced
- Scenes show the minimal wiring needed for each pickup flow
Demo Helpers (Not Systems)¶
DemoHelpers/ contains:
- Simple item storage (
SimpleItemBag) - Minimal UI (
SimpleItemBagUI) - Basic input service (
DebugKeysInputService)
These are:
- Sample-only
- Runtime-only (no persistence)
- Not production systems
ScriptableObject Examples¶
ScriptableObjects/ contains example PickupEffect assets.
They demonstrate:
- Core effects
- Decorator wrapping
- Visual/audio behaviour
👉 These are examples, not a reusable effect library.
Diagnostics (Performance Smoke Tests)¶
Diagnostics/ contains developer-only performance tests.
These are used to:
- Profile effect application cost
- Measure decorator chain depth scaling
- Observe cooldown overhead
- Detect allocation issues
👉 These are: - Not benchmarks - Not gameplay systems - Not performance guarantees
They exist purely to help developers understand scaling behaviour and misuse patterns.
Inventory Independence¶
These samples do not require the Inventory system.
Instead:
- Items are stored as simple
string → intpairs - No services, adapters, or backend systems are involved
This keeps the focus on the pickup pipeline itself.
Important Notes¶
These are demo assets¶
- Not production-ready
- Not part of the framework API
- Not intended as a reusable system
Teachable Panels are developer tools¶
- Used for learning and debugging
- Not gameplay UI
- Reflect real runtime behaviour
Authority is optional¶
- If no
IPickupAuthorityis present → pickups are allowed (single-player default) - Multiplayer projects must provide their own authority implementation
Quick Start¶
- Open a scene in
Samples/Pickups/Scenes - Press Play
- Open the corresponding Teachable Panel
- Interact with pickups or apply effects
- (Optional) Use Diagnostics to profile behaviour under stress
Safe to Remove¶
All content in this folder is optional.
Removing it will not affect:
- The Pickups runtime system
- Other RevFramework modules
Summary¶
These samples exist to answer:
“How do pickups behave in practice?”
They provide:
- Minimal, focused examples
- Live inspectable behaviour
- Optional performance diagnostics
- Zero hidden setup
Learn from them — then build your own implementation.