GGG Inventory manages item storage and movement without requiring a character controller, combat system, or equipment module. It builds on the shared GGG Items types for item definitions and runtime item identities.
Use the namespaces in the sidebar to inspect the public contracts, classes, method signatures, and XML documentation available in the released package.
API structure
GGG.Inventory— Core inventory contracts and implementations, includingIInventory,InventoryImpl,InventoryController,InventorySlot, andInventoryDefinition.GGG.Inventory.UI— Inventory UI presentation and local drag/drop interactions, includingInventoryViewandInventorySlotView.GGG.Items/GGG.Items.UI— Shared item identity and reusable item display/interaction types included with the Inventory package.
Working with the Inventory API
An InventoryDefinition configures storage capacity, while an ItemCatalog defines which items the inventory accepts. Each runtime ItemInstance retains its identity, including when multiple instances share an inventory stack.
The runtime implementation, InventoryImpl, can be used as plain C#. InventoryController is its MonoBehaviour host for scene and prefab workflows; both expose the IInventory contract.
The API covers inventory queries, adding and removing items, moving and merging stacks, and change notifications. UI is optional: a project can integrate with inventory state without adopting the supplied slot views.
Module boundaries
Inventory depends on GGG Items but is not coupled to Equipment. If your game needs to move items between inventories and equipment slots, use the optional integration package when available instead of assuming the modules are inseparable.
For feature demonstrations and purchasing details, see the Unity Assets catalog.