Skip to content

📦 Use (Items & Effects)

Handles consuming items and applying their effects from inventory.


🎯 Purpose

Provide a bridge between inventory storage and gameplay effect execution.


🧩 What Lives Here

  • ItemUseSystem → consumes items and applies effects
  • IUseEffect → effect contract
  • UseEffectResolver → resolves effects from data
  • Adapters → optional bridges for external effect systems

⚠️ Important Notes

  • This system coordinates effect execution and item consumption
  • It does not define gameplay effect logic itself
  • Final item removal is handled through service-level APIs

🧠 Usage Guidance

Item use flow

Item use typically involves:

  • resolving the container and slot
  • resolving configured effects
  • executing applicable effects
  • removing a single item when execution succeeds

Effects

Effects implement a shared contract and are resolved before execution.

  • effects may be implemented in code or as ScriptableObjects
  • execution order follows configured effect lists

Effect resolution

Effects are resolved through a central resolver that may:

  • use native implementations
  • use registered adapters
  • skip unsupported effects

Target resolution

Targets are determined from configured or default objects and may resolve a compatible component for effect application.


Consumption behaviour

  • items are consumed only when at least one effect executes successfully
  • removal is performed through service-level APIs
  • authority rules may apply to final removal

Optional integrations

Adapters may allow external systems to participate in item use behaviour.


🚫 Not for Production Use

This folder does not:

  • Define gameplay effect logic
  • Guarantee execution of all configured effects
  • Replace authority or service mutation rules
  • Provide networking or replication behaviour