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
IInventoryServiceat startup. - Use
OwnerIdto scope inventories per player/user. - Keep UI concerns (HUD, item views) separate from core types.
- Resolve or assign an
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