Skip to content

fix: content error #807

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Jul 17, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .config/.vitepress/config.mts
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ import { defineConfig } from "vitepress";

// https://vitepress.dev/reference/site-config
export default defineConfig({
title: "微信小游戏团结/Unity快适配",
title: "微信小游戏Unity/团结快适配",
description: "Wechat Mini Game Unity engine adapter documents.",
themeConfig: {
logo: '/image/vitepress/icon.png',
Expand Down
8 changes: 4 additions & 4 deletions Design/Evaluation.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,16 +14,16 @@

版本建议:

Unity版本支持从2018到最新的2021版本
Unity版本支持从2018到最新的2022版本

建议使用LTS版本,尽量使用2021(更快编译和更小体积、压缩纹理、压缩音频等支持)
建议使用LTS版本,尽量使用2022(更快编译和更小体积、压缩纹理、压缩音频等支持)


### 3. 能力支持
| 能力 |是否支持 |解决方案 |
| --- | --- |--- |
| Unity基础模块 |支持 |支持动画、物理、AI、UI等基础模块|
| 渲染管线 |支持 |支持标准渲染管线、URP,但依赖WebGL2.0的特性处于Beta测试|
| 渲染管线 |支持 |支持标准渲染管线、URP|
| 资源加载 | 支持 | Addressable、AssetBundle网络异步加载 |
| Lua脚本 |支持 |支持标准Lua与常见binding(如xlua, tolua等), 不支持Luajit。需根据实际游戏在真机验证性能|
| PureTS |支持 | iOS系统需14.5以上, 支持JIT|
Expand All @@ -32,7 +32,7 @@ Unity版本支持从2018到最新的2021版本
| 网络系统 | 需调整 |HTTP使用UnityWebRequest,TCP使用WX SDK适配或WebSocket通信替代(如开源的UnityWebSocket插件),UDP使用WX SDK适配|
| 渲染接口 | 支持 |仅支持WebGL1.0(相当于OpenGLES2.0),2.0支持处于Beta测试阶段|
| 多线程 | 不支持 | 删除多线程用法,使用异步等其他替代方式 |
| 文件API | 需调整 |不支持System.File接口,但可使用微信小游戏WX SDK实现文件存储,大小限制为200MB。玩家存档请使用服务器或云开发;AssetsBundle缓存适配插件已自动支持|
| 文件API | 需调整 |不支持System.File接口,但可使用微信小游戏WX SDK实现文件存储,[大小限制为200MB(最高可开通1GB)](FileCache.md)。玩家存档请使用服务器或云开发;AssetsBundle缓存适配插件已自动支持|



Expand Down
2 changes: 1 addition & 1 deletion Design/Guide.md
Original file line number Diff line number Diff line change
Expand Up @@ -65,7 +65,7 @@

> 相关手册:[WX SDK 平台能力适配](WX_SDK.md) 、[屏幕适配](fixScreen.md) 、 [输入法适配](InputAdaptation.md) 、 [排行榜与微信关系数据](OpenData.md)

​ Unity 游戏接入微信小游戏平台将获得微信提供的 API 以及开放能力,开发者根据需要进行按需接入。微信 API 支持的能力包括登陆、设备(存储、震动)、开放数据、广告等等。
​ Unity 游戏接入微信小游戏平台将获得微信提供的 API 以及开放能力,开发者根据需要进行按需接入。微信 API 支持的能力包括登录、设备(存储、震动)、开放数据、广告等等。



Expand Down
2 changes: 1 addition & 1 deletion Design/LaunchOperaDocument.md
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ lacop watch

#### Step4 预览默认剧情

使用 `微信开发者工具` 打开 `/minigame` 目录,AppID 请切换成当前登陆用户有开发权限的小游戏AppID,如果AppID是首次打开后会要求添加用于调试的小游戏插件,按照提示申请权限,若一切正常,你将在工具完全载入资源后看到默认的启动剧情内容。
使用 `微信开发者工具` 打开 `/minigame` 目录,AppID 请切换成当前登录用户有开发权限的小游戏AppID,如果AppID是首次打开后会要求添加用于调试的小游戏插件,按照提示申请权限,若一切正常,你将在工具完全载入资源后看到默认的启动剧情内容。

#### Step5 对剧本修改

Expand Down
6 changes: 3 additions & 3 deletions Design/PerfMeasure.md
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ Unity小游戏的启动可参考[启动流程与时序](Startup.md)
| 游戏初始化完成 | 引擎和首场景完成,出现首个业务场景 | 通过timelog, 或日志查看“游戏启动耗时” |
| 游戏可交互完成 | 游戏核心场景完成 | 通常定义为用户可交互的时机,可通过[启动留存上报能力](ReportStartupStat.md)上报统计。</br>eg:休闲游戏为**核心玩法**,RPG游戏为**创角** |
| 内存峰值 | 内存峰值 | 进程内存峰值,测量方法请参考[优化Unity WebGL的内存](OptimizationMemory.md) |
| 内存Crash运行时长| 由于内存不足而使小游戏发生Crash时,当前游戏的运行时长,表示游戏的稳定运行时长 | 通过[小游戏数据助手](https://developers.weixin.qq.com/minigame/analysis/assistant.html)查看(仅包含线上用户数据)</br> 数据路径:`数据 - 性能分析 - 运行性能 - 内存异常退出分析` |
| 内存异常退出运行时长| 由于内存不足而使小游戏发生Crash时,当前游戏的运行时长,表示游戏的稳定运行时长 | 通过[小游戏数据助手](https://developers.weixin.qq.com/minigame/analysis/assistant.html)查看(仅包含线上用户数据)</br> 数据路径:`数据 - 性能分析 - 运行性能 - 内存异常退出分析` |
| 帧率 | 核心玩法的平均帧率 | 测量5分钟以上游戏核心玩法帧率,取平均值 |
| 卡顿率 | 核心玩法的平均卡顿率 | 测量5分钟以上游戏核心玩法卡顿率,取平均值 |

Expand Down Expand Up @@ -63,7 +63,7 @@ Unity小游戏的启动可参考[启动流程与时序](Startup.md)
| 阶段 | 重点关注指标 |
| :---: | --- |
| 启动 | 1. 游戏初始化完成耗时</br> 2. 游戏可交互耗时 |
| 运行 | 1. 内存峰值</br> 2. FPS均值</br> 3. 卡顿率</br> 4. 内存Crash率(iOS)</br> 5. 内存Crash运行时长 |
| 运行 | 1. 内存峰值</br> 2. FPS均值</br> 3. 卡顿率</br> 4. 内存异常退出率(iOS)</br> 5. 内存异常退出运行时长 |
| 兼容性问题 | 1. 逻辑异常</br> 2. 黑/白屏</br> 3. JS Error |

#### 游戏类型说明
Expand All @@ -82,7 +82,7 @@ Unity小游戏的启动可参考[启动流程与时序](Startup.md)

***运行性能***

重点关注:`内存峰值`、`GC后内存峰值`、`内存Crash率`、`内存Crash运行时长`
重点关注:`内存峰值`、`GC后内存峰值`、`内存异常退出率`、`内存异常退出运行时长`

<img src='../image/performance-standard/ios_running_performance.png'/>

Expand Down
12 changes: 7 additions & 5 deletions Design/PerfOptimization.md
Original file line number Diff line number Diff line change
Expand Up @@ -55,20 +55,22 @@ Unity WebGL导出形式相对于原生APP应用,需要开发者更关注性能
* 释放不使用的资源
* 发布前使用压缩纹理工具进行优化
* 音频资源尽可能勾选强制单声道
* iOS开启高性能+模式

更多信息请阅读:
* [优化Unity WebGL的内存](OptimizationMemory.md)
* [压缩纹理优化](CompressedTexture.md)
* [Unity WebGL内存原理详解](https://gameinstitute.qq.com/community/detail/112321)
* [iOS 高性能与高性能+模式](iOSOptimization.md)
* [优化Unity WebGL的内存](OptimizationMemory.md)
* [压缩纹理优化](CompressedTexture.md)
* [Unity WebGL内存原理详解](https://gameinstitute.qq.com/community/detail/112321)

### 3.5 降低CPU消耗
* iOS使用高性能模式
* 尽量使用Android CPU Profiler在小游戏真机环境Profie计算瓶颈
* 提前在Unity环境使用Unity Profiler发现问题
* 物理计算较重的游戏使用Fixed Timestep控制计算频率
* 在中低端机型限制帧率已减轻设备发烫
* 在中低端机型限制帧率以减轻设备发烫

更多信息请阅读:
* [iOS高性能模式](iOSOptimization.md)
* [iOS 高性能与高性能+模式](iOSOptimization.md)
* [使用Android CPU Profiler性能调优](AndroidProfile.md)
* [使用Unity Profiler性能调优](UnityProfiler.md)
2 changes: 1 addition & 1 deletion Design/ReportStartupStat.md
Original file line number Diff line number Diff line change
Expand Up @@ -145,5 +145,5 @@ export const launchEventType = {

***注:***

1. 若使用的 `转换插件版本<202211101011`(对应`Unity Loader版本<1.1.2`),数据统计报表需要建联[小游戏研发助手](IssueAndContact.md)获取。
1. 若使用的 `转换插件版本<202211101011`(对应`Unity Loader版本<1.1.2`),数据统计报表需要[联系我们](IssueAndContact.md)获取。
2. 数据报表数据未来会开放到《小游戏数据助手》。
6 changes: 3 additions & 3 deletions Design/SDKInstaller.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,13 +14,13 @@

### 安装指南

`打开游戏工程` -> `团结/Unity Editor 菜单栏` -> `Package Manager` -> `右上方 “+”` -> `Add package from git URL`
`打开游戏工程` -> `Unity/团结引擎 Editor 菜单栏` -> `Package Manager` -> `右上方 “+”` -> `Add package from git URL`
URL地址为:
```
https://github.com/wechat-miniprogram/minigame-tuanjie-transform-sdk.git
```

国内Gitee镜像
或国内Gitee镜像
```
https://gitee.com/wechat-minigame/minigame-tuanjie-transform-sdk.git
```
Expand All @@ -37,7 +37,7 @@ https://gitee.com/wechat-minigame/minigame-tuanjie-transform-sdk.git

## 目录结构说明

我们希望SDK与工程代码节藕,如此一来也更方便开发者的代码版本维护。因此 PackageManager 模式下,微信SDK内容将不再存放在游戏工程的Assets目录中。为兼容需要,仍然会自动在 Assets 目录下创建 `WX-WASM-SDK-V2` 数据目录,如需保持相关的应用配置应始终保留该目录内容。
我们希望SDK与工程代码解耦,如此一来也更方便开发者的代码版本维护。因此 PackageManager 模式下,微信SDK内容将不再存放在游戏工程的Assets目录中。为兼容需要,仍然会自动在 Assets 目录下创建 `WX-WASM-SDK-V2` 数据目录,如需保持相关的应用配置应始终保留该目录内容。

## 常见问题

Expand Down
4 changes: 2 additions & 2 deletions Design/ShowCase.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
# 转换案例

文档为使用Unity WebGL适配小游戏方案的部分上线游戏。
> 转换案例目的是分享学习,若作者认为不适合分享,请联系小游戏研发助手删除
> 如开发者希望分享案例,也可通过小游戏开发助手添加
> 转换案例目的是分享学习,若作者认为不适合分享,请联系[联系我们](IssueAndContact.md)删除
> 如开发者希望分享案例,也可通过[联系我们](IssueAndContact.md)添加

## 无尽冬日

Expand Down
2 changes: 1 addition & 1 deletion Design/UsingMemoryProfiler.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@

3. 导出内存堆栈数据
- 方式1:点击性能面板左上角的"ProfilingMemory Dump" 完成导出(开启性能面板可通过修改unity-namespace.js-enableProfileStats或C#调用OpenProfileStats)
- 方式2:者在微信开发者工具中选择gameContext, 并在Console输入命令: GameGlobal.memprofiler.onDump()。
- 方式2:在微信开发者工具中选择gameContext, 并在Console输入命令: GameGlobal.memprofiler.onDump()。
<img src='../image/memoryprofiler2.png' width="600"/>

4. 微信开发者工具-“游戏缓存目录/usr/alloc_used.csv”(Android位于data/com.tencent.mm/MicroMsg/wxanewfiles/最近使用时间的目录)拖拽并以csv方式导入sqlite数据库, 推荐使用[DB Browser for SQLite](https://sqlitebrowser.org/)
Expand Down
2 changes: 1 addition & 1 deletion Design/UsingNetworking.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# 网络通信适配

由于安全性的影响,JavaScript 代码没有直接访问 IP 套接字来实现网络连接。因此,该.NET 网络类(System.Net 命名空间中的一切,特别是**_System.Net.Sockets_**)在 WebGL 中不能工作。UnityEngine.Network\* 类也是这样,编译 WebGL 时将找不到这些类。
由于安全性的影响,JavaScript 代码没有直接访问 IP 套接字来实现网络连接。因此,该.NET 网络类(System.Net 命名空间中的一切,特别是**System.Net.Sockets**)在 WebGL 中不能工作。UnityEngine.Network\* 类也是这样,编译 WebGL 时将找不到这些类。

## HTTP 通信

Expand Down
2 changes: 1 addition & 1 deletion Design/WasmSplit.md
Original file line number Diff line number Diff line change
Expand Up @@ -329,7 +329,7 @@ iOS 高性能模式由于加载子包的实现不同,刚开始收集时又基

### 如何查看分包插件日志
当出现问题时,优先排查是否stable版本的微信开发者工具,能解决大部分问题。
若问题仍无法解决,可联系小游戏研发助手8号,提供日志排查。
若问题仍无法解决,可[联系我们](IssueAndContact.md),提供日志排查。
日志获取方式:
> 菜单栏-微信开发者工具-调试-调试微信开发者工具,搜索关键字:extension host。可右键保存日志文件

Expand Down
2 changes: 1 addition & 1 deletion Design/WebGL2.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ Unity WebGL较多渲染优化特性依赖WebGL2.0, 因此这里需要针对该
- iOS高性能使用WebGL2会存在较多问题,平台暂不保证所有能力完善,开发者务必验证游戏所用到的特性支持情况。
- 对于WebGL2, [高性能+模式](https://developers.weixin.qq.com/minigame/dev/guide/performance/perf-high-performance-plus.html)有更好的兼容性。

如遇到问题请与小游戏研发助手(微信号:minigamedevop08)联系详细排查
如遇到问题请[联系我们](IssueAndContact.md)详细排查

### iOS高性能模式开启GPU Instance,模型闪烁/消失/不绘制等问题
- **原因**:iOS WebKit对webGL2的支持存在问题,当uniform变量过多时,会出现绘制不正确、不绘制、效率变低等现象;
Expand Down
2 changes: 1 addition & 1 deletion Design/iOSOptimization.md
Original file line number Diff line number Diff line change
Expand Up @@ -71,7 +71,7 @@

iOS 端小游戏高性能模式适用于遇到 iOS 环境运行性能不足,运行发烫的小游戏。

- 需要该能力的开发者登录[微信公众平台](https://mp.weixin.qq.com) -> 首页能力地图模块 -> 点击进入"生产提效包" -> 点击开通高性能模式。
- 需要该能力的开发者登录[微信公众平台](https://mp.weixin.qq.com) -> 能力地图 -> 研发能力 -> 生产提效包 -> 点击开通高性能模式。
<img src="../image/mp_addplugin.png"/>
- 开通成功后,过配置 game.json 的 iOSHighPerformance 为 true 则可进入高性能模式,通过去掉此开关可以正常回退到普通模式,以便两种模式对比。

Expand Down
6 changes: 3 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# 微信小游戏团结/Unity适配方案
# 微信小游戏Unity/团结引擎适配方案

欢迎使用 Unity WebGL 小游戏适配方案(又称团结Unity快适配),本方案设计目的是**降低 Unity 游戏转换到微信小游戏的开发成本**。基于WebAssembly技术,无需更换Unity引擎与重写核心代码的情况下将原有游戏项目适配到微信小游戏。
欢迎使用 Unity WebGL 小游戏适配方案(又称Unity/团结引擎快适配),本方案设计目的是**降低 Unity 游戏转换到微信小游戏的开发成本**。基于WebAssembly技术,无需更换Unity引擎与重写核心代码的情况下将原有游戏项目适配到微信小游戏。

**官方文档:[https://wechat-miniprogram.github.io/minigame-unity-webgl-transform/](https://wechat-miniprogram.github.io/minigame-unity-webgl-transform/)**

Expand All @@ -20,7 +20,7 @@

## 安装与使用

下载 [Unity插件](https://game.weixin.qq.com/cgi-bin/gamewxagwasmsplitwap/getunityplugininfo?download=1)并导入至游戏项目中,版本更新请查看[更新日志](https://wechat-miniprogram.github.io/minigame-unity-webgl-transform/CHANGELOG.html)团结版 or Package安装请查阅[SDK安装指引](https://wechat-miniprogram.github.io/minigame-unity-webgl-transform/Design/SDKInstaller.html)
下载 [Unity插件](https://game.weixin.qq.com/cgi-bin/gamewxagwasmsplitwap/getunityplugininfo?download=1)并导入至游戏项目中,版本更新请查看[更新日志](https://wechat-miniprogram.github.io/minigame-unity-webgl-transform/CHANGELOG.html)团结版或Package安装请查阅[SDK安装指引](https://wechat-miniprogram.github.io/minigame-unity-webgl-transform/Design/SDKInstaller.html)

- 请查阅[推荐引擎版本](https://wechat-miniprogram.github.io/minigame-unity-webgl-transform/Design/UnityVersion.html),安装时选择WebGL组件
- 前往[微信开发者工具下载](https://developers.weixin.qq.com/miniprogram/dev/devtools/stable.html)安装Stable版开发者工具【注意:为保证稳定性,请勿使用小游戏版 Minigame Build】
Expand Down
Binary file modified image/mp_addplugin.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
2 changes: 1 addition & 1 deletion index.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ layout: home
hero:
name: "Unity/团结快适配方案"
text: "基于WebGL + WebAssembly"
tagline: 无需使用JavaScript重构,快速移植团结/Unity游戏至微信小游戏平台解决方案
tagline: 无需使用JavaScript重构,快速移植Unity/团结引擎游戏至微信小游戏平台解决方案
image:
src: /image/vitepress/home.png
alt: WeChatGame & Unity
Expand Down
Loading