
资源类型:UE插件
支持软件:4.26 – 4.27 和 5.0 – 5.5
文件格式:持续更新
包含内容:插件
你是否曾梦想用 ECS 架构开发你的 Unreal 游戏?数据驱动的工作流终于以其全面灵活的姿态来到 Unreal Engine。隆重推出 —— Apparatus!
最新消息
我们回来了 ,并且活力满满!
常见问题
这是一个真正的 ECS,还是某种破解、仿真或功能受限的实现?
这是一个实现了完整功能的 ECS 系统,采用了对缓存友好的内存模型。
它是仅支持 C++还是仅支持 Blueprint 的实现?
它两者都支持,毫无保留。
它是其他库的某种移植版本吗?
不。这套框架是专门针对 Unreal Engine 从零开始重新设计和编写的,并且利用了其所有可用 API、反射系统、编辑器等基础设施。这套工具最早可以追溯到 2019 年。
我听说 Unreal Engine 不适合 ECS,为了实现这样的功能必须进行重构。
Unreal Engine 已经内置了足够多的功能。你只需要深入底层,拥有足够的专业知识和良好的设计 ,就能实现这个功能。
提供源代码了吗?
这是一个商业性质的开放源代码可用计划,就像 Unreal Engine 本身一样。
它是否兼容其他 Unreal Engine 系统,例如动画蓝图、行为树、Niagara?
是的 。
速度有多快?
是的。 我们使用了各种优化、查找、打包和缓存技术。Blueprint 前端在 UE 的虚拟机中已被推至极限。C++ 基础代码有 90% 是仅头文件形式,以获得最高效的编译器输出。考虑到目前已有的功能集,我们甚至不知道还能在哪方面进一步提升性能。未来我们可能会引入更多速度更快但安全性较低的 API,并提供额外的迭代上下文。
这是某种实验性的软件包吗?代码库有多稳定?
这个工具已经经历了多次迭代,并定期通过我们自有的自动化测试套件和项目进行测试。可以认为它已经完全可用于生产环境 。如果你能在我们的运行时中发现任何行为问题,欢迎挑战。
支持多线程吗?
该实现包含一种独特且深刻的并发处理支持 ,并通过任务实现了高效的并行化处理。通过延迟机制,拓扑结构的变更操作也能保持兼容性。
它支持网络复制吗?
该框架是网络就绪的。我们的技术已经提供了在各个实体之间以稳健且安全的方式交换数据所需的全部手段。
术语表
我们提供所有 ECS 的常用模式,甚至更多。该框架具有明确且自给自足的特性,采用了自有的命名体系。以下是对应术语列表:
- Entity – Subject(tive)
- Component – Trait、Detail
- System – Mechanic
- 原型 – 指纹
- 查询 – 筛选器
- 区块 – 传送带 , 区块
目标
我们坚信深度的数据驱动工作流程,并在我们自己的工作室项目中积极应用。这也是我们打造 Apparatus 的原因。这个项目背后的故事长达一年半,包含了大量的研究、积极的原型制作、开发、性能分析和测试。它最初的几个版本是为完全不同的技术架构而开发的,但在经历了无数个日夜的努力后,我们终于能够激动地向大家——Unreal Engine 社区——呈现这个成果!
目前的示例项目虽然功能覆盖面相当广,但可以看作是该技术的一个基础演示,未来我们还将推出更复杂的示例。Apparatus 本身已经经过彻底测试,并完全达到生产环境的准备标准。如果你在使用过程中需要任何帮助,欢迎随时联系我们,我们致力于提供最全面、功能最丰富的使用体验。
技术细节
功能特色
- 对数据导向范式的完整 Unreal Engine 集成。支持 C++ 和 Blueprint 开发。
- 面向性能的无垃圾回收(GC-less)线性结构体数据和支持继承的高级组件。
- 语义安全的多线程支持,具备延迟操作执行功能。
- 灵活的包含与排除主体过滤功能。
- 允许对同一主体添加多个相同类型的细节。所有可用的细节组合都会被处理。
- 内置安全的网络功能,配有简洁的 API。
- 专为用户体验打造的细节设计,提升阅读清晰度、验证效率与整体易用性。
- 众多性能优化:查找表、快速位数组匹配、缓存局部性等。
- 配有专属手册的全面 API 文档。
模块
- Apparatus 运行时
- Apparatus 未处理
- Apparatus 编辑器
信息
C++ 类数量:>80
网络复制: 是
支持的开发平台:Windows、Linux、macOS
支持的目标构建平台:Windows、Linux、macOS、iOS、Android、Switch、PS4、XBox One


评论(0)