Repolode
Tencent

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. 1

    按 Unity 安装指南添加 Puerts Unity 包

  2. 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 数据每日更新。

相关项目