首页
工具
游戏工具
screenshot
1/21
thumbnail
thumbnail
thumbnail
loading
loading
loading
loading
loading
loading
loading
loading
loading
loading
loading
游戏事件系统(GES)是一个专业、可视化、类型安全的事件架构。它通过ScriptableObject、高性能逻辑和基于节点的编排消除了“意大利面条式代码”
渲染管线兼容性
内置渲染管线是团结引擎/Unity的默认渲染管线,它是一种通用型渲染管线,但可定制化的选项较为有限。通用渲染管线(简称 URP)是一种可编程渲染管线,能够快速、轻松地进行定制,并可在广泛的平台上实现优化的图形效果。高清渲染管线(简称 HDRP)同样是一种可编程渲染管线,能够在高端平台上实现前沿的高保真图形效果。
团结/Unity版本
内置渲染管线
通用渲染管线(URP)
高清渲染管线(HDRP)
团结 1.10.3
兼容
兼容
兼容
描述

🚀 告别乱麻:用可视化逻辑重写您的游戏未来

Game Event System(GES) 是一款为同时重视视觉清晰度与运行性能的 Unity 开发者打造的生产力工具。它将可视化节点图与直接、类型安全的 C# API 结合,为项目建立一套清晰、可搜索、可扩展的事件架构

您可以通过 Inspector、无代码组件或 C# 创建和触发事件,将大型项目拆分为多个事件数据库,并在运行时动态注册、查询、加载和释放内容

❤️ 您的项目值得拥有专业、清晰且可维护的事件架构

🔥 面向移动端与 AOT 平台:支持 Mono、IL2CPP,以及关闭 Domain Reload 的 Enter Play Mode Options


🇨🇳 国内通道

🛒 Unity 中国商店 | 🎥 B站视频 | 📘 技术文档


🌐 全球社区

🛒 Global AssetStore | 💬 Discord 社区 | 🎥 YouTube 频道 | 🎮 Unity Forum | ✉️ 邮件支持


🛠️ 核心特性:让事件架构清晰可控

资源驱动的事件架构 事件以 ScriptableObject 子资源的形式存储在 GameEventDatabase 中。持久事件 GUID 取代魔法字符串;正常重命名资源或移动文件夹时,Unity 资源引用能够保持有效。项目还可以按 Core、Combat、UI、DLC 等模块拆分多个数据库

🕸️ 可视化流向编排 在可缩放的 FlowGraph 中组合并行触发器、阻塞式顺序链和混合执行流程。节点支持分组、连接验证、撤销/重做,以及 Play Mode 执行路径高亮,让事件关系真正可见

面向 IL2CPP 的 AOT-safe 运行时 内置事件和生成事件通过强类型 ActionEntry 直接调用,不需要在运行时生成 Expression Tree 委托。FlowGraph 事件派发使用同一套 AOT-safe 类型链路,适用于移动端、主机、桌面和 WebGL 项目

🧠 可视化逻辑与 AOT 条件烘焙 无需编写代码即可构建嵌套 AND/OR 条件组,并读取发送者、事件参数、字段或属性进行动态比较。AOT Condition Baker 会生成运行时求值注册表,在构建前检查缺失或过期的条件,并准确报告需要重新烘焙的资源和字段

📦 可选 Addressables 集成 按 Address 或 GUID 异步加载 GameEventDatabase,共享同一数据库的并发请求,并在加载后自动完成运行时注册。租约机制负责数据库释放,GUID 冲突检查则阻止重复事件进入当前运行环境。Addressables 不是 GES Core 的强制依赖

🎧 专业级事件绑定与无代码组件 通过 Inspector 配置 UnityEvent 回调、优先级、条件监听器和跨场景持久监听器。GameEventRaiser 与 GameEventReceiver 可以直接连接 UI、动画、音频、VFX、物理和玩法逻辑,无需为简单流程额外编写 C#

精细的流程控制 原生支持 Delay、Loop、重复次数、Coroutine/Async 等待和条件闸门。延迟与重复事件提供可取消的执行句柄,便于管理尚未完成的运行时逻辑

📜 自动代码生成流水线 支持无参数事件、单参数事件和发送者事件:

  • GameEvent
  • GameEvent<T>
  • GameEvent<TSender, TArgs>

32 种常用 C# 与 Unity 类型可以直接使用。对于自定义参数和发送者组合,CodeGen 会生成具体事件类、ActionEntry 以及配套的 Raiser/Receiver 组件,解决 Unity 的泛型序列化限制

🔎 运行时数据库与查询 API 数据库可以在运行时注册、注销、启用或停用。MonoBehaviour、纯 C# 服务、存档系统、插件桥接和动态内容模块都可以按 GUID、名称、分类或运行时类型查找事件,无需依赖序列化的场景引用

🛡️ 完整的编辑器与调试工具链 内置集中式事件管理器、模糊搜索、批量创建、FlowGraph 编辑器、当前场景引用查找器、数据库健康检查、孤立子资源清理、CodeGen 管理和 Runtime Monitor

Runtime Monitor 可以查看事件记录、监听器数量、执行耗时、GC 分配以及当前 Trigger/Chain 执行层级,帮助您定位隐藏依赖和运行顺序问题

💪 谁最需要 GES?

🎯 独立开发者 希望从项目早期建立清晰的事件边界,避免依赖关系随着内容增长逐渐失控

🏆 专业团队 需要一个集中、可搜索、可拆分并适合协作维护的事件数据库

🎨 技术美术与策划 希望通过 Inspector 和 FlowGraph 配置事件、条件与流程,同时保持类型安全

📱 移动端与 IL2CPP 项目 需要强类型事件派发、AOT 条件烘焙和构建前验证流程

📦 模块化与动态内容项目 需要通过多个数据库或 Addressables 管理关卡、DLC、活动和按需加载内容

📦 技术规格

  • 架构基础:ScriptableObject 事件与 GameEventDatabase
  • 事件形式:GameEvent、GameEvent<T>、GameEvent<TSender, TArgs>
  • 内置参数类型:32 种常用 C# 与 Unity 类型
  • 运行时派发:强类型 AOT-safe ActionEntry
  • 条件系统:生成式求值注册表与构建前验证
  • 脚本后端:Mono、IL2CPP
  • 目标项目:桌面、移动端、主机、WebGL
  • 动态内容:可选 Addressables 数据库加载
  • Addressables 依赖:GES Core 不强制依赖
  • 编辑器界面:基于 UI Toolkit 的窗口、Inspector 与 Property Drawer
  • 播放模式:支持关闭 Domain Reload
  • 跨场景监听:支持持久监听器
  • 数据库能力:多数据库、运行时注册、动态查询与健康检查

🏆 开发者寄语

“我开发 GES,是因为我厌倦了追查那些不可见的代码依赖。我需要一套能够看清事件关系,同时保留直接、类型安全 C# 控制的架构

GES 将这套设计扩展到了 IL2CPP、AOT 条件执行和动态数据库加载。我也在自己的游戏开发中持续使用和维护它


期待看到您用 GES 构建出的项目,也欢迎把真实需求和使用反馈带到 TinyGiants 社区”

Tino, TinyGiants

技术细节

Game Event System (GES) 完整技术规格说明:

[⚓ 架构详情 / ARCHITECTURE DETAILS]

  • GUID 身份系统:每个事件在其 .meta 文件中保持唯一的 ID;重命名或移动文件绝不会导致场景引用丢失
  • 全面的泛型支持:原生支持 GameEvent (无参), GameEvent<T>, 以及 GameEvent<TSender, TArgs>
  • 多数据库管理:支持模块化组织,具备动态加载功能和基于类别的模糊搜索过滤
  • 文件夹移动保护:自动拦截非法的资产移动,防止插件被意外移至 Plugins 文件夹导致引用失效
  • 静态变量自动重置:利用 [RuntimeInitializeOnLoadMethod] 自动清理内部缓存,防止在编辑器播放模式下产生数据污染。(v1.0.2 已针对团结引擎及 Unity 6 架构进行了深度重构)

[🕸️ 节点图表与逻辑 / NODE GRAPH & LOGIC]

  • 表达式树编译器:逻辑条件在运行时编译为高性能委托(基于 System.Linq.Expressions),彻底消除反射开销
  • 可视化逻辑构建器:无需编写代码即可构建复杂的嵌套 AND/OR 逻辑,并支持动态对象属性比较
  • 混合执行模式:无缝混合“即发即弃”的并行触发器(Parallel Triggers)与“阻塞式”序列链条(Serial Chains)
  • 参数转换器:支持在流程节点之间动态提取并传递特定的对象属性
  • 流程网关:内置支持“等待完成”、“等待帧数”以及条件执行闸门
  • 撤销/重做:为节点编辑器定制了基于快照的历史记录系统

[🎧 绑定与脚本 / BINDING & SCRIPTING]

  • 可视化绑定:封装了 UnityEvent,支持“零代码”拖拽式回调绑定,并具备类型安全的运行状态标识
  • 优先级系统:基于整数的排序机制,确保关键逻辑(如 UI 或音频控制)按正确顺序优先执行
  • 持久化监听器:原生支持跨场景监听器,在场景切换过程中保持激活状态
  • 动态运行时 API:提供完整的程序化控制接口,用于注册/注销监听器以及管理 DelayHandle / TaskHandle

[📜 自动化 / AUTOMATION]

  • 三重代码生成模式 (CodeGen):为基础类型、自定义类型和发送者感知类型自动生成具体类,完美解决 Unity 的泛型序列化限制
  • 延迟与重复执行:内置支持带时间戳的定时信号,提供可随时取消的句柄操作
  • 异步等待机制:事件链支持等待协程 (Coroutine) 或异步任务 (Async) 完成后再继续执行

[📊 调试与性能 / DEBUGGING & PERFORMANCE]

  • 运行时监视器:实时剖析执行时间(平均/最小/最大值)、监听器数量以及 GC 内存分配
  • 自动化树可视化:实时查看激活的触发器和链式层次结构,轻松调试复杂的逻辑流
  • 全场景引用查找器:扫描当前场景,精准定位组件级的事件依赖关系
  • 深度日志系统:完整记录时间戳、帧计数、参数值以及详尽的堆栈跟踪信息

[🚀 性能指标特性 / PERFORMANCE CHARACTERISTICS]

  • 事件触发(0 监听器):约 0.001ms (几乎无开销)
  • 事件触发(10 监听器):约 0.02ms (零 GC 分配)
  • 逻辑条件评估:约 0.003ms (基于表达式树优化)
  • 平台兼容性:在 IL2CPPMono 后端下均经过深度优化并完全兼容

Game Event System (GES)

Unity 海外资源商店评分
5.0(5条评分)
国内数据
640浏览
6收藏
当前价格
¥138.60
¥198
30% OFF
已享受 平台补贴
席位
仅支持将资源分配给中国区用户,其他区域账号暂不支持
许可证类型
如对许可证类型有疑问,请查阅EULA
席位
文件大小
7.9 MB
最新版本
2.1.1
最新发布日期
2026-09-20
支持Unity版本
/
支持的团结引擎版本
1.10.3或更高