PuerTS is a multi-language scripting solution for Unity, Unreal, and DotNet that enables developers to write game logic in TypeScript, JavaScript, Lua, or Python with seamless integration to the host engine.
The tool solves the problem of bridging scripting languages with game engines by providing high-performance script runtimes and automatic C#/C++ interoperability. It generates TypeScript declarations for type-safe access to engine APIs and uses full-engine reflection for zero-boilerplate interop calls. For performance-critical paths, it generates static wrappers across all supported languages. The unified ScriptEnv architecture in version 3.0 allows developers to swap between languages using the same API surface, enabling teams to choose the language that best fits their workflow or even mix multiple languages within a single project.
Developers should choose this tool if their team has existing expertise in TypeScript, Lua, or Python and wants to leverage ecosystem packages from npm, LuaRocks, or PyPI alongside professional game engines. It suits projects where type safety is valuable but rapid prototyping flexibility is also needed. The tool is particularly advantageous for WebGL development, where it can outperform pure C# implementations. Unity developers gain access to Puerts.AI, which adds AI capabilities for editor automation and runtime scripting, including an Editor Assistant that can control the Unity Editor through natural language commands and integrates with external AI tools via the Model Context Protocol.
The project maintains active releases across Unity, Unreal, and NuGet platforms. Development spans multiple language backends and engine integrations, with ongoing work to expand language support and AI capabilities. The codebase is written primarily in C++ and handles complex cross-platform reflection and interoperability concerns across different scripting runtimes and game engines.