虚幻引擎 - 通用库存系统

Generic Inventory System(通用库存系统)是一个功能强大、灵活性高、易于集成的通用库存系统框架。

通用库存系统.封面
罗传月武(YueWu)

作者

罗传月武(YueWu)

专注游戏开发和Web技术。

创建时间: 2025年4月16日更新时间: 2026年9月10日

目录

概述

通用库存系统(GIS)是一个功能强大、灵活易用的虚幻引擎(UE5)插件,专为游戏开发者设计。无论你是想打造背包系统、装备管理、建造系统还是种田系统,GIS都能帮你快速构建复杂的库存结构。它就像一堆精心设计的“积木块”,让你自由拼装出符合游戏需求的资源管理系统。

文档与支持

为什么需要 Generic Inventory System?

大多数团队都能很快做出一个基础背包。真正麻烦的是,同一件物品需要同时作为静态数据、可变运行时状态、容器里的堆叠、已装备对象、商店条目、制作材料、世界中的拾取物、存档记录和多人复制对象存在。

GIS 把这些路径收束到同一模型中:

  • 设计师可以通过 Data Asset、Gameplay Tag、集合、槽位和可复用限制规则制作物品。
  • 运行时 Item Instance 负责唯一 ID、可变属性、Fragment 状态、存档数据和复制兼容状态。
  • 添加、移动、移除、装备、拾取、掉落、制作、购买、出售和 loadout 流程保持权威端可控。
  • UI 和表现层可以订阅事件与异步访问点,而不是自己持有库存规则。

关键特性

数据驱动的物品与运行时状态

你可以用 Item Definition Data Asset 描述静态物品,再在运行时创建带唯一 ID 和可变状态的 Item Instance。Item Fragment 负责把默认状态、验证、序列化、复制兼容数据、装备元数据、商店数据、制作配方、动态属性或项目自定义逻辑组合到需要它们的物品上。

容器、堆叠、槽位与接收规则

库存由带 Gameplay Tag 的集合组成,可以表达主背包、装备栏、任务容器、快捷栏或项目自定义容器。普通集合、多堆叠集合和槽位集合覆盖不同存储形态;限制规则可在接收前校验唯一性、标签要求、堆叠大小和堆叠数量。

服务器权威的多人基础

库存组件提供 authority-only 的添加、移动、移除、重置、初始化和默认 loadout 操作,并为支持的变更提供可靠 Server RPC 入口。GIS 使用可复制组件、可复制子对象、基于 FastArraySerializer 的容器,并在合适位置使用 Push Model dirty marking,然后通过事件把变化交给 UI 与表现层。

从库存槽位建立装备系统

装备组件关联库存集合,用 Gameplay Tag 槽位管理已装备和激活状态,并支持装备组。Blueprint Native 扩展点可为项目创建自己的装备 UObject 或 Actor,让武器、护甲、工具、宠物或技能装配进入同一套物品模型。

制作、经济、世界战利品与持久化

制作组件消耗库存输入并产出配置结果;货币组件、商店组件、价格修正和条件检查围绕项目经济工作;dropper 与 pickup 组件把物品、货币或库存从世界 Actor 转移到权威库存;存档结构覆盖库存、集合、堆叠、物品、Fragment 和货币数据。

Blueprint 与 C++ 扩展点

GIS 由 C++ 实现,并公开面向 Blueprint 的配置、事件、异步 Action、Callable API 和 Blueprint Native 钩子。设计师可以在编辑器内配置常见物品和集合行为,程序则可以扩展 Fragment、限制规则、工厂、装备创建、制作检查、价格计算和项目专属规则。

适用项目与人群

  • RPG、生存、撤离、动作、模拟、经营或 loot 驱动项目
  • 需要容器、堆叠、装备槽、快捷栏、loadout 或持久化物品状态的游戏
  • 多人项目,需要服务器权威库存操作和可复制物品 / 装备状态
  • 希望用 Data Asset、Gameplay Tags、Blueprint 和 C++ 扩展规则的团队
  • 想把世界战利品、掉落、拾取、货币、商店、制作、建造资源、种植资源或其他资源管理循环连接到同一物品模型的项目

插件本体为纯代码,购买后会另行获得配套项目。配套项目包含可运行的 GIS 演示关卡,以及物品、集合、装备、掉落、拾取、存档和 UI 等示例内容,便于先理解完整接入方式。再按自己的游戏进行调整。框架仍保持可扩展,最终的UI表现层,基于库存的玩法规则仍应由你的项目决定。

技术详情

代码模块(Code Modules):

  • GenericInventorySystem(Runtime)
  • GenericInventoryEditor(UncookedOnly)

依赖插件(Plugin Dependencies):

  • ModularGameplay

Blueprint 数量(Number of Blueprints): 随配套项目提供

C++ 类数量(Number of C++ Classes): 50+

网络复制(Network Replicated): 是

开发支持平台(Supported Development Platforms): Win64、Mac

支持的目标构建平台(Supported Target Build Platforms): Win64、Mac、Android、Linux

配套项目(Companion Project): 购买后通过购买验证提供

重要说明/附加说明(Important/Additional Notes): 查看我的产品整体设计