UnityEngine.WebModule.dll 是 Unity 引擎面向 Web 平台(WebGL 构建目标,以及早期的 Web Player)提供的托管侧运行时模块,会随 UnityEngine 系列程序集一同被 Player 打包流程引用。它位于托管代码与浏览器原生环境之间,负责把 C# 调用翻译为 Emscripten、JavaScript 与 HTML5 API 调用,是 Web 目标平台上不可替代的基础组件。
1. 托管与非托管代码的互操作桥接。为 Application.ExternalCall、Application.ExternalEval、SendMessage 等接口提供底层实现,使 C# 能够调用页面中的 JavaScript 函数,也允许 JavaScript 反向回调 Unity 对象的方法,从而完成页面 UI 与 Unity 内容的双向通信。
2. 网络通信栈。为 UnityWebRequest 与 WWW 提供 WebGL 后端,将 HTTP/HTTPS 请求映射到浏览器的 Fetch 或 XMLHttpRequest,并处理跨域策略、上传下载进度、超时与错误码转换,同时支撑 WebSocket 长连接与服务器推送。
3. 页面事件与窗口控制。接收浏览器焦点变化、页面可见性切换、窗口尺寸调整、页面关闭等事件并派发给引擎,使 OnApplicationFocus、OnApplicationPause 等回调在 Web 环境下能够正常工作。
4. 数据持久化与文件系统。配合 IndexedDB 与内存文件系统,实现 PlayerPrefs、持久化数据目录以及流式资源缓存的读取与写入。
5. 资源加载与下载。负责 AssetBundle、StreamingAssets 目录下文件的请求处理,以及浏览器端的下载、上传与缓存管理。