puerts  by Tencent

AI-powered game development scripting

Created 5 years ago
6,000 stars

Top 8.4% on SourcePulse

GitHubView on GitHub
Project Summary

Summary

PuerTS is a multi-language scripting solution for Unity, Unreal Engine, and .NET, enabling game logic in JavaScript/TypeScript, Lua, or Python. It offers high-performance runtimes with seamless C#/C++ interop, boosting developer productivity by allowing preferred languages and leveraging external package ecosystems (npm, LuaRocks, PyPI). The system provides type safety via TypeScript declarations and aims for efficient, boilerplate-free integration with host engine APIs.

How It Works

PuerTS utilizes a unified ScriptEnv architecture (Unity 3.0+) supporting multiple languages with a consistent C# bridging API. High performance is achieved through static wrapper generation for critical paths and efficient, cross-platform reflection calls. TypeScript declaration generation ensures type-safe API access. Key advantages include language mixing within projects and seamless C#/C++ interoperation with minimal boilerplate.

Quick Start & Requirements

Integration involves adding PuerTS to Unity/Unreal projects, with C# code snippets demonstrating ScriptEnv initialization for various backends (V8, Lua, Python).

  • Engine Versions: Unity 5+, Unreal Engine 4.22+.
  • Dependencies: Specific JS backends (V8, QuickJS, Node.js), Lua 5.4, CPython. Platform support varies by backend.
  • Resources: Documentation, FAQs, changelogs, and known issues are linked. Community support via GitHub Discussions and QQ groups.

Highlighted Details

  • Multi-Language Support: Unity 3.0+ features a unified ScriptEnv for JS/TS, Lua, and Python, enabling language flexibility and mixing.
  • Puerts.AI: Integrates LLM agent capabilities into Unity Editor (natural language control) and runtime (smart NPCs, AI navigation).
  • Performance: Claims high efficiency, with WebGL support noted as a significant advantage, sometimes exceeding pure C# performance.
  • Ecosystem Integration: Facilitates using external packages from npm, LuaRocks, and PyPI.

Maintenance & Community

Community support is available via GitHub Discussions and specific QQ groups (general: 942696334, UE4: 689643903). No explicit information on core contributors, sponsorships, or a public roadmap was found.

Licensing & Compatibility

The license type and any associated restrictions or compatibility notes for commercial use are not explicitly stated in the provided README content.

Limitations & Caveats

The Python backend is restricted to desktop platforms. Unreal Engine exclusively supports JavaScript/TypeScript. WebGL backend is limited to H5/Mini Games. Node.js backend has limitations regarding OpenSSL APIs on Unreal Engine mobile. QuickJS lacks debugging support.

Health Check
Last Commit

2 days ago

Responsiveness

Inactive

Pull Requests (30d)
15
Issues (30d)
8
Star History
77 stars in the last 30 days

Explore Similar Projects

Starred by Alex Yu Alex Yu(Research Scientist at OpenAI; Cofounder of Luma AI), Will Brown Will Brown(Research Lead at Prime Intellect), and
7 more.

avante.nvim by yetone

0.3%
18k
Neovim plugin emulating Cursor AI IDE for AI-driven code assistance
Created 1 year ago
Updated 5 days ago
Starred by Chip Huyen Chip Huyen(Author of "AI Engineering", "Designing Machine Learning Systems") and Elvis Saravia Elvis Saravia(Founder of DAIR.AI).

DeepCode by HKUDS

0.4%
15k
AI agents transform ideas into production-ready code
Created 10 months ago
Updated 1 month ago
Feedback? Help us improve.