一体化 JavaScript/TypeScript 工具链,集运行时、打包器、测试运行器和包管理器于一个可执行文件。
Tencent/puerts
让 Unity 和 Unreal 游戏可以用 TypeScript/JavaScript 编写逻辑的脚本解决方案,Unity 版还支持 Lua 和 Python。
- Star
- 6,236
- Fork
- 869
- 未关闭 Issue
- 313
- 最近提交
- 6天前
这是什么?
PuerTS(普洱)是面向 Unity、Unreal Engine 和 .NET 的多语言脚本解决方案。游戏逻辑可以用 TypeScript 或 JavaScript 编写,既能使用 npm 生态的包,也能借助 TypeScript 的静态类型检查,同时访问引擎的 C# 或 C++ API。
在 Unity 中,项目还提供 Lua 和 Python 后端,与 JavaScript 共用同一套 ScriptEnv 接口,同一个项目中可以混用多种语言。JavaScript 侧可选 V8(默认)、QuickJS(包体更小)或 Node.js(需要 Node API 时)。C# 互操作基于反射,也支持为性能敏感路径生成静态调用包装,并可生成 TypeScript 声明文件,以类型安全的方式访问宿主引擎 API。
3.0 版本还为 Unity 加入了 Puerts.AI,包括可通过自然语言操控编辑器的编辑器助手,以及可在游戏运行时中运行的 Agent 框架。
核心功能
- 01用 TypeScript 或 JavaScript 编写游戏逻辑,直接调用 UnityEngine 或 Unreal 的 API。
- 02Unity 中通过同一套 ScriptEnv 接口支持 Lua 和 Python 后端。
- 03JavaScript 运行时可选 V8、QuickJS 或 Node.js。
- 04基于反射的 C#/C++ 互操作,并可生成静态包装以提升性能。
- 05生成宿主引擎 API 的 TypeScript 声明文件。
- 06为 Unity 提供 Puerts.AI 编辑器助手和运行时 Agent 框架。
适用场景
- 由熟悉 TypeScript 的团队开发 Unity 或 Unreal 游戏。
- 用脚本编写游戏逻辑,便于在不重新编译 C# 的情况下更新。
- 在游戏项目中复用 npm 生态的包。
- 借助 QuickJS 后端构建 WebGL 或小游戏版本。
快速上手
- 1
按 Unity 安装指南添加 Puerts Unity 包
- 2
使用 JavaScript/TypeScript 后端创建 ScriptEnv 并运行脚本
使用前须知
- Lua 和 Python 后端仅支持 Unity;Unreal 仅支持 JavaScript/TypeScript。
- Python 后端仅支持桌面平台,不支持 Android 和 iOS。
- 元数据中许可证显示为 NOASSERTION,使用前请自行核实许可条款。
标签
常见问题
- puerts 是什么?
- 让 Unity 和 Unreal 游戏可以用 TypeScript/JavaScript 编写逻辑的脚本解决方案,Unity 版还支持 Lua 和 Python。 PuerTS(普洱)是面向 Unity、Unreal Engine 和 .NET 的多语言脚本解决方案。游戏逻辑可以用 TypeScript 或 JavaScript 编写,既能使用 npm 生态的包,也能借助 TypeScript 的静态类型检查,同时访问引擎的 C# 或 C++ API。
- puerts 可以免费使用吗?用的什么许可证?
- puerts 以 Other 许可证开源。用于商业产品前,请先确认许可证条款。
- puerts 还在维护吗?
- 活跃维护中。puerts 最近一次提交是在 2026年10月15日。
- puerts 适合用来做什么?
- 由熟悉 TypeScript 的团队开发 Unity 或 Unreal 游戏。 用脚本编写游戏逻辑,便于在不重新编译 C# 的情况下更新。 在游戏项目中复用 npm 生态的包。 借助 QuickJS 后端构建 WebGL 或小游戏版本。
- puerts 怎么安装和运行?
- 按 Unity 安装指南添加 Puerts Unity 包 使用 JavaScript/TypeScript 后端创建 ScriptEnv 并运行脚本
- 在哪里获取 puerts?
- 源代码和安装说明在 GitHub 上:https://github.com/Tencent/puerts
概要由 AI 根据项目 README 生成;GitHub 数据每日更新。
相关项目
基于 JavaScript 编写 Shell 风格脚本的工具,封装 child_process 并自动转义参数,兼容多平台。
面向 Unreal Engine 5.8+ 的 MIT 开源插件,扩展引擎原生 MCP 服务,让 AI 智能体操作编辑器。
一个面向 TypeScript 和 JavaScript 的渐进式 Node.js 服务端框架,用于构建高效、可扩展的应用。
Socket.IO 是一个用于客户端与服务器之间实时、双向、低延迟事件通信的库。
面向网页的高性能 2D 渲染库,基于 WebGL 和 WebGPU 绘制图形、精灵与文本。