Skip to content

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 → int pairs
  • 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 IPickupAuthority is present → pickups are allowed (single-player default)
  • Multiplayer projects must provide their own authority implementation

Quick Start

  1. Open a scene in Samples/Pickups/Scenes
  2. Press Play
  3. Open the corresponding Teachable Panel
  4. Interact with pickups or apply effects
  5. (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.