You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Unity中运行包含npm包的TypeScript代码?

如何在Unity中运行包含npm包的TypeScript文件?

当然有可行的实现方式,下面分两种主流场景给出具体方案,并针对你的tsconfig给出适配调整建议:

一、桌面/移动端Unity项目(非WebGL)

这类场景下Unity本身没有原生Node.js环境,需要把TypeScript和npm包打包成Unity可识别的独立JS文件,再通过.NET的JS解释器执行:

  1. 打包TS与npm依赖

    • 使用Webpack或Rollup等打包工具,将你的TS代码和依赖的npm包合并为单个UMD或IIFE格式的JS文件(避免ES模块语法,确保JS解释器能直接执行)。
    • 配置打包工具时,排除Node.js内置模块(如fs、path)——如果npm包依赖这些,需要替换为兼容Unity环境的实现,或者选择无Node依赖的包。
  2. 在Unity中集成JS解释器

    • 使用Jint(轻量级.NET JS解释器)或V8.NET(基于Chrome V8引擎)这类第三方库,将打包后的JS文件导入Unity项目。
    • 通过C#代码加载并执行JS文件,实现Unity与JS的双向调用(比如调用TS导出的函数,或者让TS调用Unity的C#方法)。

二、Unity WebGL项目

WebGL环境本身基于浏览器JS引擎,适配起来更简单:

  1. 编译TS为浏览器兼容的JS
    • 直接用tsc编译你的TS代码,配合npm包(可以用npm安装后直接导入)。
    • 在WebGL的HTML模板中引入编译后的JS文件,通过Unity提供的SendMessage、UnityInstance等API实现TS与Unity的交互。

三、针对你的tsconfig.json的适配调整

你当前的配置更偏向前端Web环境,需要根据Unity场景调整:

1. 桌面/移动端场景调整

{
    "compilerOptions": {
        "target": "es2015", // 降级目标版本,确保JS解释器兼容
        "module": "umd", // 输出UMD格式,适配非模块环境
        "lib": ["esnext"], // 移除dom库,避免浏览器环境依赖
        "outDir": "./build",
        "rootDir": ".",
        "strict": true,
        "strictPropertyInitialization": false,
        "skipLibCheck": true,
        "forceConsistentCasingInFileNames": true,
        "esModuleInterop": true,
        "moduleResolution": "node",
        "experimentalDecorators": true,
        "emitDecoratorMetadata": true,
        "allowJs": true,
        "declaration": true,
        "sourceMap": true,
        "noFallthroughCasesInSwitch": true,
        "allowSyntheticDefaultImports": true
    },
    "include": ["./src"]
}

2. WebGL场景调整

可以保留大部分原配置,但建议把module改为es2020或esnext,确保浏览器支持,同时确认lib中的dom符合WebGL的浏览器环境需求。

关键注意事项

  • 避免使用依赖Node.js核心模块或操作系统API的npm包,这类包无法在Unity环境中运行。
  • 如果需要Unity与TS/JS交互,要严格遵循Unity的JS交互规范(比如C#方法需标记为[MonoPInvokeCallback]或在WebGL中使用SendMessage)。
  • 测试时先打包最小化的TS代码+单个npm包,验证可行后再扩展复杂依赖。

内容的提问来源于stack exchange,提问作者kadircan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.24 16:02:34