Home
Tools
Game Toolkits
screenshot
1/21
thumbnail
thumbnail
thumbnail
loading
loading
loading
loading
loading
loading
loading
loading
loading
loading
loading
游戏事件系统(GES)是一个专业、可视化、类型安全的事件架构。它通过ScriptableObject、高性能逻辑和基于节点的编排消除了“意大利面条式代码”
Render pipeline compatibility
The Built-in Render Pipeline is Unity’s default render pipeline. It is a general-purpose render pipeline that has limited options for customization. The Universal Render Pipeline (URP) is a Scriptable Render Pipeline that is quick and easy to customize, and lets you create optimized graphics across a wide range of platforms. The High Definition Render Pipeline (HDRP) is a Scriptable Render Pipeline that lets you create cutting-edge, high-fidelity graphics on high-end platforms.
Tuanjie/Unity Version
Built-in
URP
HDRP
Tuanjie 1.10.3
Compatible
Compatible
Compatible
Description

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

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

Technical details

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 (基于表达式树优化)
  • 平台兼容性:在 IL2CPP 和 Mono 后端下均经过深度优化并完全兼容

Game Event System (GES)

Unity Asset Store rating
5.0(5 ratings)
Local data
648Views
6Favorites
Price
¥138.60
¥198
30% OFF
已享受 平台补贴
Seats
Only China users can be assigned assets. Other regions are currently not supported
License type
For questions about the license type, please refer to the EULA.
Extension Asset
File size
7.9 MB
Latest version
2.1.1
Latest release date
2026-09-19
Supported Unity versions
/
Supported Tuanjie versions
1.10.3 or higher
Publisher Support
support@tinygiants.tech