Unity資源檢測(Asset Checker)工具

用于本地資源檢測奏甫,幫助開發(fā)者盡早發(fā)現(xiàn)資源文件中存在的問題

  • 支持所有版本的Unity項目

  • 不依賴Unity Editor,無需安裝綠色運行

  • 檢測速度極快玻侥,可在UPR中查閱檢測結果

  • 支持命令行模式,可與CI/CD工具輕松集成亿蒸,實現(xiàn)自動化檢測

  • 規(guī)則庫持續(xù)更新

  • 支持AssetBundle冗余檢測

  • 支持靜態(tài)代碼分析

Asset Checker 官方教程地址(包含工具下載地址)

資源檢測

  1. 生成配置文件凑兰。

assetcheck.exe generate-config

  1. 檢測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前面添加“.\”
  1. 查看檢測結果。

直接打開rule_report.yaml文件查看物延。

或者登陸UPR網(wǎng)站查看宣旱。

在檢測時如果填寫了<project_id>,檢測結束后叛薯,可直接在UPR網(wǎng)站該項目內(nèi)查看檢測結果浑吟。

UPR網(wǎng)站支持離線「上傳資源檢測文件」『牧铮可直接將assetcheck文件夾內(nèi)的assetcheck_result.json文件上傳组力,查看檢測結果。

點擊「詳情」抖拴,可查看資源檢測的詳細結果燎字。

image.png

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)站查看詳細結果

image.png

3.查看Asset依賴關系鏈

點擊上圖中相應的資源AB包中某一個AssetBundle名字厉熟,可以在彈出頁面中進一步查看此Asset到指定AssetBundle的依賴關系鏈

image.png

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驾窟。

最后編輯于
?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末庆猫,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子绅络,更是在濱河造成了極大的恐慌,老刑警劉巖嘁字,帶你破解...
    沈念sama閱讀 217,406評論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件恩急,死亡現(xiàn)場離奇詭異,居然都是意外死亡纪蜒,警方通過查閱死者的電腦和手機衷恭,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,732評論 3 393
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來纯续,“玉大人随珠,你說我怎么就攤上這事♀恚” “怎么了窗看?”我有些...
    開封第一講書人閱讀 163,711評論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長倦炒。 經(jīng)常有香客問我显沈,道長,這世上最難降的妖魔是什么逢唤? 我笑而不...
    開封第一講書人閱讀 58,380評論 1 293
  • 正文 為了忘掉前任拉讯,我火速辦了婚禮,結果婚禮上鳖藕,老公的妹妹穿的比我還像新娘魔慷。我一直安慰自己,他們只是感情好著恩,可當我...
    茶點故事閱讀 67,432評論 6 392
  • 文/花漫 我一把揭開白布院尔。 她就那樣靜靜地躺著蜻展,像睡著了一般。 火紅的嫁衣襯著肌膚如雪召边。 梳的紋絲不亂的頭發(fā)上铺呵,一...
    開封第一講書人閱讀 51,301評論 1 301
  • 那天,我揣著相機與錄音隧熙,去河邊找鬼片挂。 笑死,一個胖子當著我的面吹牛贞盯,可吹牛的內(nèi)容都是我干的音念。 我是一名探鬼主播,決...
    沈念sama閱讀 40,145評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼躏敢,長吁一口氣:“原來是場噩夢啊……” “哼闷愤!你這毒婦竟也來了?” 一聲冷哼從身側響起件余,我...
    開封第一講書人閱讀 39,008評論 0 276
  • 序言:老撾萬榮一對情侶失蹤讥脐,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后啼器,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體旬渠,經(jīng)...
    沈念sama閱讀 45,443評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,649評論 3 334
  • 正文 我和宋清朗相戀三年端壳,在試婚紗的時候發(fā)現(xiàn)自己被綠了告丢。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,795評論 1 347
  • 序言:一個原本活蹦亂跳的男人離奇死亡损谦,死狀恐怖岖免,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情照捡,我是刑警寧澤颅湘,帶...
    沈念sama閱讀 35,501評論 5 345
  • 正文 年R本政府宣布,位于F島的核電站麻敌,受9級特大地震影響栅炒,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜术羔,卻給世界環(huán)境...
    茶點故事閱讀 41,119評論 3 328
  • 文/蒙蒙 一赢赊、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧级历,春花似錦释移、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,731評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽涩蜘。三九已至,卻和暖如春熏纯,著一層夾襖步出監(jiān)牢的瞬間同诫,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,865評論 1 269
  • 我被黑心中介騙來泰國打工樟澜, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留误窖,地道東北人。 一個月前我還...
    沈念sama閱讀 47,899評論 2 370
  • 正文 我出身青樓秩贰,卻偏偏與公主長得像霹俺,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子毒费,可洞房花燭夜當晚...
    茶點故事閱讀 44,724評論 2 354

推薦閱讀更多精彩內(nèi)容