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
SimpleItemBagwithout 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¶
- Play the scene — a sword and a cube are visible in front of the Player.
- Sword (Hold-to-Pickup):
- Move near the sword.
- Hold the pickup key (default: F) to collect it.
- Watch the Simple Item Bag UI update and the sword disappear.
- Cube (Auto Pickup):
- Walk into the cube to trigger a Teleport Effect.
- The Player instantly teleports, with a small VFX burst.
- Quickstart Panel:
- Open the
PickupsQuickstartPanelwindow. - Bind the Player to the
Actorfield. - Bind any
PickupEffectto theEffectfield (e.g.TeleportEffect,GrantSimpleItemEffect). - 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
EffectPickupCoreorPickupInteractableCoreBasecomponents.
🔗 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
SimpleItemBaginstead 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,
EffectPickupCoretreats 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.
SimpleItemBagprovides 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/