本頁面由英文機器翻譯而成。閱讀英文原文。

部落格

Unity Asset Store 與 Unreal Fab 的 AI 代理整合:一句提示就能取用你的素材庫

AI 代理現在能在 Unity Asset Store 與 Fab 找到你已擁有的素材包,匯入專案並用來搭建場景。

Unity Asset Store 與 Unreal Fab 的 AI 代理整合:一句提示就能取用你的素材庫

大多數遊戲開發者擁有的素材,遠比自己實際用到的多。多年下來,Unity Asset Store 與 Fab 的收藏庫塞滿了特價時買的、或免費領取的角色、道具、室內場景與特效,然後就這麼擺著,因為要找到對的素材包、匯入、再確認裡面有什麼,往往得花上一整個晚上。最新的 AI Game Developer 版本補上了這個缺口:AI 代理現在可以搜尋你已經擁有的 Unity Asset Store 與 Fab 素材庫,把素材包匯入專案、讀取匯入的內容,並在場景中使用,全部只要一句提示。

Unity 場景中一間來自 Asset Store 室內素材包的客廳,裡頭有一組西洋棋,以及來自另外兩個素材包的角色,由 AI 代理透過 Unity-MCP 佈置完成
Unity:來自使用者 Asset Store 帳號的三個素材包同處一個場景,由 AI 代理透過 Unity-MCP 佈置

為什麼要為 AI 代理做 Asset Store 整合

編輯器裡的 AI 代理,能力取決於它能拿到什麼素材。若無法存取你的素材庫,它只能用方塊和基本幾何體拼場景,或是請你手動下載、匯入素材包,再告訴它路徑。有了這項新整合,代理看到的就是你在 Package Manager 或 Fab 面板中看到的同一個素材庫,它會挑出符合任務的素材,並自行帶進專案。

有兩件事仍掌握在你手上。代理只會操作你帳號已經擁有的素材包:購買素材包或把免費素材加入收藏庫,仍然要在商店網站上進行。而引擎要求你確認的每一次匯入,也仍然由你確認。

Unity Asset Store:兩個工具

Unity-MCP 新增兩個工具,與下方 Fab 的工具相互對應。assetstore-library 會列出你 My Assets 收藏庫中的每個套件,並與已下載到本機 Asset Store 快取的套件合併,可依名稱、發行商或分類中的字詞篩選。對每個套件,代理能看到它是否已下載、是否已在專案中。assetstore-add 依產品 id 匯入套件,並回報實際匯入了什麼:prefab、材質、場景與模型的路徑、腳本數量,以及代理在使用前需要知道的提醒,例如某個素材包是為 URP 製作,而專案是以 Built-in 管線算繪。

JSONMCP 工具呼叫
{ "tool": "assetstore-library", "input": { "query": "chess" } }
{ "tool": "assetstore-add", "input": { "package": "70092" } }

較少見的步驟則可透過 RQL 取得相同資料,那是代理原本就用來讀取與修改編輯器的查詢語言:assetStore 來源可以在不解壓的情況下讀取 .unitypackage 的目錄(因此代理在匯入前就知道素材包裡有哪些 prefab)、匯入巢狀的套件檔案,以及啟動 Unity 登入。以一個 500 MB 的室內素材包來說,讀取其內容不到兩秒。

BashRQL
assetStore | get packages | where name contains "Interior" | call Contents(".prefab", 20)

這裡的關鍵是 Unity 帳號。My Assets 是以編輯器登入的 Unity 帳號來讀取,所以編輯器必須處於登入狀態。unity-mcp-cli 現在會像 Unity Hub 一樣開啟專案,讓編輯器取得你的 Hub 工作階段;新的 unity-account 指令則會顯示編輯器是否已登入,未登入時便啟動登入流程。代理也有相同選項:assetStore | call SignIn()。

Bash終端機
unity-mcp-cli unity-account ./MyGame
unity-mcp-cli unity-account ./MyGame --sign-in

素材包常常附帶多種變體。上圖中的室內素材包是為 URP 製作,裡面還附有自己的 Built-in 轉換套件;assetstore-add 會指出這一點,代理再呼叫一次就能套用,專案便能正確算繪該素材包,而不是顯示成一片洋紅。

BashRQL
assetStore | call ImportFile("Assets/ithappy/Interior_Realistic/Render_Pipeline_Convert/Unity_6_Built-In_source.unitypackage")

Unity 6.6 會在匯入時檢查套件簽章,而 Asset Store 的套件目前還沒有簽章,因此每個素材包都會讓編輯器跳出「Missing signature」視窗。代理絕不會代你回答那個視窗。assetstore-add 會立刻回傳,代理會告訴你 Unity 正在等待你的確認;等你按下「Import Anyway」後,它會確認套件已抵達並繼續作業。

Unreal Engine 與 Fab

Unreal-MCP 也為 Epic 的市集 Fab 取得同樣能力。整個流程由三個工具涵蓋。fab-search 可依文字、上架類型、僅限免費與排序方式搜尋公開的 fab.com 目錄。fab-library 會列出你帳號擁有的項目,並說明每一項已匯入何處。fab-add 會下載你擁有的項目,並透過引擎內建的 Fab 外掛匯入,也就是 Fab 面板的 Add to Project 按鈕所走的路徑:Unreal Engine 素材包會落在專案的 Content 資料夾下,glTF 與 FBX 模型及 Megascans 則走相同的匯入器。

Fab 使用的是編輯器 Fab 外掛所登入的 Epic 帳號。在新的編輯器工作階段中,第一次呼叫會開啟瀏覽器中的 Epic 登入頁(或由使用者點擊編輯器工具列上的 Fab);登入一次後,代理在該工作階段剩下的時間就能自行作業。完整專案與程式外掛仍須從 Epic Games Launcher 安裝。

AI 代理在 Unreal Engine 中用使用者 Fab 收藏庫裡的兩個素材包,搭建出一間溫馨的房間
Unreal Engine:來自使用者 Fab 收藏庫的 Fantasy Interior Environment 與 Houseplant Pack,由代理擺放並打光

實測觀察

我們以使用者的方式測試這兩項整合:真正的代理、只用引擎的 MCP 工具,以及一句平實的提示。模型刻意選用 DeepSeek V4.1 Flash,一個快速又便宜的模型:如果這些工具對它來說夠清楚,對任何代理來說就都夠清楚。

在 Unity 中,提示要求做出一組附棋子的西洋棋盤,以及一個來自使用者 Asset Store 帳號的人類角色,並開一個新場景,讓每顆棋子都擺在起始格,加上燈光、攝影機與截圖。當時代理只有 RQL 來源,它透過 rql-schema 找到這項功能,從 177 個已擁有的套件中挑出 Chess Pieces & Board 與 Human Character Dummy,兩個都匯入,從網格推算出棋盤的方格配置,正確擺好全部 32 顆棋子,儲存場景並算繪出畫面。唯一需要人為的步驟,是兩次 Import Anyway 確認。

32 顆棋子擺在起始格上,棋盤旁站著一個角色,由代理用兩個 Asset Store 素材包搭建而成
Unity:測試代理用 Chess Pieces & Board 與 Human Character Dummy 搭建的西洋棋場景

第一次測試也暴露了弱點。RQL 來源必須被發現:代理得想到要去問 rql-schema 有哪些來源存在。於是我們用同一句提示量測兩種形式,各跑三次。使用這兩個工具時,代理每次都能在 4 到 5 次呼叫、約 4.5 萬個 token 內,從提示走到開始匯入。只靠 RQL 來源時,三次中只有一次找到這項功能;另外兩次它自己寫了匯入程式碼,用了 48 到 58 次呼叫,最高達 200 萬個 token。Unreal 團隊在 Fab 上也看到同樣的情況,因此兩個引擎都為主要流程提供工具。同一項量測也讓 Unity 的 Package Manager 工具從隱藏中走出來:預設顯示之後,代理安裝一個套件只需 5 到 9 次呼叫,而不是 12 到 17 次。

在 Unreal Engine 中,代理讀取了使用者擁有 55 個項目的 Fab 收藏庫,匯入帶有 852 個資產的 Fantasy Interior Environment,與 Houseplant Pack 結合,使用該素材包的木地板材質,搭建並點亮一個房間,然後儲存關卡。它只有兩次呼叫碰觸到 Fab,其餘都是普通的場景作業。在另一項範圍較窄的測試中,從收藏庫找到一個室內植物素材包並加入,只花了三次工具呼叫,從頭到尾約 27 秒。

如何試用

Asset Store 與 Fab 整合已在 Unity-MCP 1.11.0 與 Unreal-MCP 0.31.0 中推出。它們可在 Claude Code、Cursor、VS Code Copilot 及任何其他 MCP 用戶端中使用,因為這些能力就住在引擎外掛本身;AI Game Developer App 會在下次更新時帶來新的外掛版本。如果你是 AI Game Developer 的新手,請從 ai-game.dev/download 下載應用程式,並依 ai-game.dev/engines/unity 或 ai-game.dev/engines/unreal 的說明連接你的引擎。

接著,請它做一些你原本得花一整晚的事:用你的室內素材包佈置一間房間、用模組化套件搭出測試關卡、做一個角色素材包的展示。代理會先到你已經擁有的素材庫裡找。

一艘來自使用者 Asset Store 收藏庫的太空船,由 AI 代理在 Unity 中佈置與打光
Unity:來自使用者 Asset Store 帳號的 DropShip R35

更多部落格文章

所有文章