Skip to content

00 — Crafting Quickstart

Goal:
Learn the core Crafting loop with zero setup using a fully self-contained demo scene.


🎓 What This Scene Demonstrates

This is the simplest possible Crafting example — everything runs locally with no database, backend services, or external dependencies.

You’ll see how CraftingServiceCore drives the core flow:

Preflight → Enqueue → Job execution

and how to: - Use FakeInventoryAdapter and FakeCurrencyAdapter for isolated demos.
- Seed items and currency directly from the demo panel.
- Enqueue single or batched crafts using the CraftingQuickstartPanel.
- Observe job state and progress in real time.


Scope Reminder
RevFramework does not implement networking, replication, prediction, rollback, or reconciliation.
These samples demonstrate authority-gating patterns only — all networking behaviour is your responsibility.


⚠️ Authority Note

No Authority Binder is assigned in this scene.

Leaving the Authority Binder field on CraftingServiceCore unassigned allows crafting to be tested locally without authority checks.

To enforce authority, you must assign an Authority Binder to the service.
Adding the component alone does not automatically block crafting.


🧩 How to Use

  1. Press Play in the Unity Editor.
  2. Open the CraftingQuickstartPanel (auto-opens if visible).
  3. Use the Seed Inventory & Currency controls to give the player items and coins.
  4. Confirm the values in the Balance and Container readouts.
  5. Try Craft 1, Craft N, or Craft Max.
  6. Watch Jobs update live as crafts start, run, and complete.
  7. Use Cancel to stop any job — refunds are requested according to service policy and adapter support.

⚙️ Behind the Scenes

  • Uses FakeInventoryAdapter and FakeCurrencyAdapter (pure in-memory samples).
  • Requires no real inventory, economy, or backend services.
  • Each craft creates a CraftJob, which reports state and progress
    (e.g. queued, running, completed, failed, cancelled).
  • The panel calls CraftingServiceCore.CanCraftDetailed() and Enqueue()
    the same public APIs used in production code.

💡 Key Takeaway

This scene demonstrates a minimal demo setup for Crafting:

✅ No external dependencies or databases
✅ No real inventory or currency systems required
✅ Uses sample adapters only
✅ Shows the complete Crafting flow in isolation

Once you understand this scene, you’ll recognise the same patterns used everywhere else —
from workbenches to validators, routers, and more advanced setups.


Panel: CraftingQuickstartPanel
Scene Path:
Assets/RevFramework/Samples/Crafting/Scenes/00_Crafting_Quickstart/