用于本地資源檢測奏甫,幫助開發(fā)者盡早發(fā)現(xiàn)資源文件中存在的問題
支持所有版本的Unity項目
不依賴Unity Editor,無需安裝綠色運行
檢測速度極快玻侥,可在UPR中查閱檢測結果
支持命令行模式,可與CI/CD工具輕松集成亿蒸,實現(xiàn)自動化檢測
規(guī)則庫持續(xù)更新
支持AssetBundle冗余檢測
支持靜態(tài)代碼分析
資源檢測
- 生成配置文件凑兰。
assetcheck.exe generate-config
- 檢測Unity工程。
assetcheck.exe --project=<project_path> --projectId=<project_id>
<project_path>為Unity工程所在路徑祝懂,<project_id>為UPR項目Id票摇。
<project_id>非必需項。如果填寫了<project_id>砚蓬,檢測結束后矢门,可直接在UPR網(wǎng)站該項目內(nèi)查看檢測結果。
UPR項目創(chuàng)建方式可參考UPR App 使用手冊,步驟2祟剔。點擊ProjectId可以快速拷貝隔躲。
- 當前文件夾下運行需要在assetcheck.exe前面添加“.\”
- 查看檢測結果。
直接打開rule_report.yaml文件查看物延。
或者登陸UPR網(wǎng)站查看宣旱。
在檢測時如果填寫了<project_id>,檢測結束后叛薯,可直接在UPR網(wǎng)站該項目內(nèi)查看檢測結果浑吟。
UPR網(wǎng)站支持離線「上傳資源檢測文件」『牧铮可直接將assetcheck文件夾內(nèi)的assetcheck_result.json文件上傳组力,查看檢測結果。
點擊「詳情」抖拴,可查看資源檢測的詳細結果燎字。
4.設置待檢測資源的路徑范圍
assetcheck支持通過命令行參數(shù) --includePaths 和 --excludePaths 來控制待檢測資源所在的文件夾集合
(注意,此參數(shù)中填入的路徑分隔符在1.10.2版本之前不會被自動轉(zhuǎn)換為操作系統(tǒng)默認)
例1:此時僅有Assets目錄(及子目錄)下的資源會進入檢測阿宅,其余資源會被忽略
assetcheck.exe --project="C:\unity\sample201904" --includePaths="Assets"
例2:此時Assets目錄下Scripts和Scenes這兩個子目錄中的資源會被忽略候衍,其他Assets下的資源會進入檢測
assetcheck.exe --project="C:\unity\sample201904" --includePaths="Assets" --excludePaths="Assets\Scripts,Assets\Scenes"
例3:--excludePaths單獨也可以發(fā)揮作用
assetcheck.exe --project="C:\unity\sample201904" --excludePaths="Third-party-repo,Assets\Lib"
(此外注意,AssetChecker默認已經(jīng)將項目根目錄下的Package和Library目錄忽略)
AssetChecker還支持在config.yaml中對某類別的規(guī)則或者某條具體規(guī)則設置生效的路徑范圍洒放,配置的生效優(yōu)先級為:規(guī)則 > 類別 > 項目蛉鹿,高優(yōu)先級的配置會直接覆蓋低優(yōu)先級
例4:當項目級別(命令行參數(shù))和規(guī)則設置中都配置了includePaths或者excludePaths時,對于”Video size limit“這條規(guī)則拉馋,僅有它自己的路徑范圍設置生效榨为,即Assets/Video下的除了CGExport外的資源將參與檢測;對于所有其他規(guī)則煌茴,則適用項目級別的配置随闺,即Assets目錄下的資源都被跳過
assetcheck.exe --project="C:\unity\sample201904" --excludePaths="Assets"
(...) - category: Video enabled: true includePaths: Assets/Included_0,Assets/Included_1 excludePaths: Assets/Ignored_0,Assets/Ignored_1 rules: - name: Video size limit description: Size of imported video should not over limit, default at 256MB includePaths: Assets/Video,Assets/VideoClip excludePaths: Assets/Video/CGExport enabled: true platform: All customParameters: sizeLimit: 256
5.指定服務器地址
對于購買了UPR企業(yè)版的用戶,可以通過--serverIp參數(shù)來指定AssetCheck蔓腐,AssetBundleCheck矩乐,CodeAnalyze的檢測結果的上傳目的服務器地址,此時使用協(xié)議默認為http回论,上傳端口默認為8080散罕,展示頁面的端口默認為3005
assetcheck.exe --project="C:\unity\sample201904" --serverIp="123.123.123.123" ---- 2020-08-13 15:33:07,407 INFO: Current version is 1.11.0 2020-08-13 15:33:07,408 INFO: {***} 2020-08-13 15:33:07,408 WARNING: No project id provided, report will not be uploaded to upr server 2020-08-13 15:33:07,408 INFO: Upload server set to: http://123.123.123.123:8080 2020-08-13 15:33:07,408 INFO: Browse server set to: http://123.123.123.123:3005
也可以通過--uploadServer和--browseServer來直接指定服務器的完整URL(此時--serverIp會被忽略)
6.資源修復
Asset Checker中的部分規(guī)則支持直接對檢測到缺陷的資源進行修復
在檢測完成后,如果發(fā)現(xiàn)資源的缺陷是可以自動修復的傀蓉,Asset Checker會生成fix_report.yaml文件欧漱,記錄準備執(zhí)行修復的資源和修復規(guī)則
之后,用戶需要執(zhí)行
assetcheck.exe fix --project=<project_path>
來完成資源修復
現(xiàn)階段用戶可以手動刪除fix_report.yaml中的部分條目來控制所要執(zhí)行的修復范圍葬燎,后續(xù)我們將提供過濾命令或UPR Web中的操作界面優(yōu)化操作
資源包冗余檢測
1.檢測資源包
assetcheck.exe abcheck --project=<assetbundle_path> --projectId=<project_id>
<assetbundle_path>為AssetBundle包所在絕對路徑(其中不能包括中文)误甚,<project_id>為UPR項目Id缚甩。
<project_id>非必需項。如果填寫了<project_id>窑邦,檢測結束后擅威,可直接在UPR網(wǎng)站該項目內(nèi)查看檢測結果。
UPR項目創(chuàng)建方式可參考UPR App 使用手冊冈钦,步驟2郊丛。點擊ProjectId可以快速拷貝。
2.查看整體檢測結果
檢測執(zhí)行完成后瞧筛,可點擊運行日志末尾的URL跳轉(zhuǎn)至UPR網(wǎng)站查看詳細結果
3.查看Asset依賴關系鏈
點擊上圖中相應的資源AB包中某一個AssetBundle名字厉熟,可以在彈出頁面中進一步查看此Asset到指定AssetBundle的依賴關系鏈
4.本地解析結果
abcheck的執(zhí)行結果會同時在本地以json文件格式保存在assetcheck所在文件夾下asse_bundle_analyze_result.json中
代碼缺陷檢測
1.檢測項目地址
assetcheck.exe code-analyze --project=<project_path> --projectId=<project_id>
<project_path>為Unity項目所在絕對路徑(其中不能包括中文),<project_id>為UPR項目Id驾窟。