ItemVault

ItemVault Architecture Overview

ItemVault Architecture Overview

This document provides a short architectural overview of ItemVault.Core. It is intentionally compact and meant to be expanded as the plugin evolves.

Core Concepts

  • IInventory – engine-agnostic inventory abstraction
  • Inventory – default in-memory implementation
  • IInventoryService – owner-scoped inventory operations
  • OwnerId / InventoryId – typed identifiers for owners and inventories
  • InventoryServiceLocator – thin entrypoint for engines/adapters

Integration Boundaries

  • ItemVault.Core does not know about any specific game or engine.
  • Engine adapters (Godot, Unity, etc.) should:
    • Resolve or assign an IInventoryService at startup.
    • Use OwnerId to scope inventories per player/user.
    • Keep UI concerns (HUD, item views) separate from core types.

For cross-plugin integrations (e.g. ItemDrops → ItemVault), see the ItemDrops documentation site for an Option A bridge pattern that uses IInventoryService + OwnerId without adding new dependencies into ItemVault.Core.


Last Updated: 2025-12-08