Skip to content

00 — Pickups Quickstart (Minimal)

Goal:
Prove the Pickups system works standalone — no Inventory, no Health — using a simple item pickup and a teleport pickup side by side.


🎓 What This Scene Teaches

  • Apply effects directly through the Pickups Quickstart Panel (for testing and debugging).
  • Use interactable pickups (Press / Hold / Auto) without Inventory dependencies.
  • Grant items to a basic SimpleItemBag without the Inventory module.
  • Trigger instant pickups via EffectPickupCore (e.g., teleport).
  • Observe live updates in the SimpleItemBagUI — showing item counts change in real time.

This scene focuses on the core pickup pipeline itself — creating, applying, and testing effects independently of the rest of the framework.


🧩 How to Use

  1. Play the scene — a sword and a cube are visible in front of the Player.
  2. Sword (Hold-to-Pickup):
  3. Move near the sword.
  4. Hold the pickup key (default: F) to collect it.
  5. Watch the Simple Item Bag UI update and the sword disappear.
  6. Cube (Auto Pickup):
  7. Walk into the cube to trigger a Teleport Effect.
  8. The Player instantly teleports, with a small VFX burst.
  9. Quickstart Panel:
  10. Open the PickupsQuickstartPanel window.
  11. Bind the Player to the Actor field.
  12. Bind any PickupEffect to the Effect field (e.g. TeleportEffect, GrantSimpleItemEffect).
  13. Click Apply To Actor to test effects directly, without interacting with scene pickups.

💡 The panel is designed for debugging and effect authoring — in gameplay, pickups trigger automatically through their EffectPickupCore or PickupInteractableCoreBase components.


🔗 Inventory Decoupling (Intentional)

This scene uses SimpleItemPickupInteractable for the sword pickup on purpose.

  • It demonstrates that Pickups do not depend on the Inventory module.
  • Items are granted into a lightweight SimpleItemBag instead of Inventory.
  • No Inventory services, adapters, or authority rules are involved.

This keeps the example focused on the pickup pipeline itself, not on backend systems.

The full Inventory-backed pickup flow — including authority gating and item storage via Inventory — is demonstrated in:

01 — World Pickups + Interactables


🔧 Scene & Components

Component Purpose
Panel RevGaming.RevFramework.Runtime.Systems.Pickups.Teaching.PickupsQuickstartPanel
Sword PickupInteractableCoreBase (Hold-to-Pickup) → GrantSimpleItemEffect
Cube EffectPickupCore (Auto) → TeleportEffect
Player Includes SimpleItemBag, SimpleItemBagUI, and DebugKeysInputService

✅ No Dependencies On

  • Inventory system
  • Crafting system
  • Health / Damage system

🛡️ Authority (Why There’s No Binder Here)

This quickstart scene does not include an IPickupAuthority binder on purpose — it is a local, single-player validation scene.

  • When no authority binder is present, EffectPickupCore treats consumes as allowed by default.
  • That default is intentional for single-player, local testing, and standalone Pickups demos.
  • Multiplayer / server-authoritative projects should add a binder (or replace it with a netcode-aware implementation) so pickup consumes are gated by your authority rules.

This scene is focused on proving the core pickup pipeline works standalone using: SimpleItemPickupInteractable + SimpleItemBag + SimpleItemBagUI — without relying on the RevFramework Inventory module.


📝 Notes

  • Demonstrates the independence of the Pickups module — it can grant items or trigger effects without Inventory or Health present.
  • SimpleItemBag provides a self-contained example of item storage.
  • The Quickstart Panel is a developer utility for testing effects, cooldowns, or null-damageable handling.
  • The sword mesh was created in Asset Forge by Kenney (licensed for inclusion).

Scene Path:
Assets/RevFramework/Runtime/Systems/PickUps/Samples/Scenes/00_Quickstart_Minimal/