What You Can Build
Generic Inventory System provides a shared model for inventory-based gameplay: items, containers, equipment, crafting, currency, shops, drops, pickups, persistence, and multiplayer state. It supplies the item runtime, rules, transfer paths, and extension points while your project owns UI, economy balance, interaction permissions, and final presentation.
Gameplay Patterns You Can Build
- Character inventories, storage containers, loot bags, quest containers, hotbars, and loadouts
- Stackable consumables, unique quest items, category-restricted storage, and fixed equipment slots
- Weapons, armor, tools, pets, abilities, or custom equipment objects created from slotted items
- Resource crafting, construction or farming resource loops, multiple currencies, vendor buy/sell flows, and dynamic pricing
- World drops, pickups, saved inventories, UI-facing events, and replicated multiplayer state
Item Definitions, Instances, and Fragments
- Author once, instantiate many times. Static item content lives in Item Definition Data Assets, while runtime instances receive unique IDs and mutable state when they enter the world or a container.
- Compose behavior by item responsibility. Fragments provide default state, validation, serialization, replication-friendly data, equipment metadata, shop data, crafting recipes, dynamic attributes, and custom project rules without forcing every item into one inheritance chain.
- Keep designer-facing setup in data. Common definitions, collection choices, slot rules, currency definitions, recipes, and UI reference data can be edited through Unreal assets and Gameplay Tags.
- Extend the schema when your game needs more. Projects can add their own fragments, fragment state, validation rules, and item factory behavior in Blueprint or C++.
Collections, Slots, and Acceptance Rules
- Separate container responsibilities with tags. Gameplay Tag collections can represent the main bag, quest storage, equipment, hotbars, loot containers, or any project-defined container.
- Choose the right storage shape. Standard, multi-stack, and slot collections cover free storage, stacked items, and fixed slots.
- Reject invalid transfers early. Restrictions validate uniqueness, required tags, stack size, and stack count before an item is accepted.
- Reuse rules across gameplay paths. Pickup, drop, crafting, shop, loadout, and equipment flows can all pass through collection rules instead of duplicating checks.
Authoritative Multiplayer State
- Mutate where authority lives. Add, move, remove, reset, initialize, and default-loadout operations are authority-only, with reliable server RPC entry points where supported.
- Replicate runtime state deliberately. GIS uses replicated components, replicated subobjects, FastArraySerializer-backed containers, and Push Model dirty marking where appropriate.
- Let presentation react. Initialization, collection changes, stack changes, rejected additions, removals, pickup results, world-item changes, and fragment updates expose events or async access paths.
Equipment, Crafting, Economy, and World Interaction
- Make equipment part of the inventory model. Equipment components equip from tagged slots, track active state and groups, and let projects create their own equipment UObjects or Actors.
- Craft from authored recipes. Crafting consumes inventory inputs, checks recipe availability, and produces configured outputs while leaving validation and balance open to project rules.
- Build shops around your economy. Currency and shop components support entries, buy/sell flows, conditions, target collections, and Blueprint Native price modifiers.
- Move items through the world. Dropper and pickup components transfer items, currencies, or inventory payloads through authority-owned world Actors.
- Persist the state that matters. SaveGame record structures cover inventory, collection, stack, item, fragment, and currency data.
Companion Project Reference
- Study a working GIS demo. The companion project contains
/Game/GenericDemo/GIS/Levels/GIS_Demoplus item, collection, equipment, pickup, drop, save, and UI examples. - Inspect reusable UI patterns without coupling core code to UI. Inventory menus, equipment menus, shop menus, item stack entries, drag-and-drop helpers, details panels, loot widgets, and currency widgets live in companion content rather than the code plugin package.
- Use Generic Game System where the demo needs shared UI and interaction foundations. The companion project configuration includes GGS support content, matching the current product split.
Boundaries to Design Around
- The plugin package is code-only; example content, UI, and the playable demo are studied through the companion project after purchase verification.
- Replication and RPC surfaces are infrastructure, not a complete gameplay security model. Validate interaction requests, ownership, client prediction, and gameplay results in your project.
- GIS does not impose final UI, economy values, construction logic, farming logic, or equipment presentation; it provides the extensible item runtime model those systems can use.