Apple Developer onepage/WWDC26
#WWDC26#StoreKit#BackgroundAssets#Unity2026-06-08 · 09:59

遊戲內容解鎖:用 StoreKit + Background Assets 降低下載與商務整合摩擦

這場 session 聚焦 Apple 平台遊戲:iOS 27 的 localized asset packs、Steam depot 轉 asset pack、Unity 的 StoreKit / Background Assets plug-ins,以及從購買驗證到內容下載的測試流程。

// 一句話結論

Apple 正把「商店購買」與「內容分發」包成更接近遊戲工作流的工具鏈:玩家只下載需要的語言與內容,Unity 團隊也能用 C# 直接接 StoreKit 與 Background Assets。

Apple Developer · WWDC26 · Video ID: sYDRC1mJ1rIApple Developer 官方頁
Session
09:59
短 session,偏實作導覽
Apple hosted assets
200 GB
每 app included
Runtime
iOS 27
localized asset packs
Unity baseline
2022 LTS
搭配 Xcode 27 / Python 3
// CHAPTERS
00:01session 目標:Background Assets、Unity plug-ins、App Store presence
00:33Managed Background Assets:只在需要時下載 asset packs
01:35Localized asset packs:依系統語言只下載對應語言內容
03:14Steam depot 轉 asset pack manifest / archive
04:15Apple Unity plug-ins:Background Assets 與 StoreKit
05:52StoreKit / Background Assets C# sample flow
08:25App Store 與 Apple Games app 的展示素材

重點 1:Localized asset packs 直接打中大型遊戲的儲存痛點

Managed Background Assets 原本就能把音訊、影片、貼圖、機器學習模型等內容延後到需要時才下載。WWDC26 的新重點是 localized asset packs:系統依玩家在 Settings 裡的偏好語言,只安裝對應語言的 asset packs。

這對含多語音、多字幕、多地區內容的遊戲特別重要。以前玩家可能被迫下載全部語言內容;現在可以讓德文玩家只拿德文包,缺少區域變體時再 fallback 到 base language 或 primary app language。

Manifest 要加入 language tag每個 localized asset pack 在 manifest 中標示語言,例如 en-US。這是系統判斷下載哪個包的基礎。
下載策略仍由 Background Assets 控制localized 不是手動 CDN 邏輯,而是繼續走 Managed Background Assets 的 asset pack 與 policy 模型。
Fallback 要納入 QA沒有 English-UK 時可能回 English-US;沒有相近語言時回 primary language。這些 fallback path 要在測試計畫裡。
Apple hosting 可降低營運負擔官方提到 App Store app 可由 Apple host 最多 200 GB assets,包含在 Developer Program membership 中。

重點 2:Steam depot converter 是移植管線訊號

如果遊戲已經在 Steam 管理 depots,Apple 現在提供 xcrun ba-package convert,把 Steam manifest build script 轉成 asset pack manifest,再產出 asset pack archive。這不是單純格式轉換,而是在降低既有 PC 遊戲移植到 Apple 平台時的內容分發成本。

01
先把 Steam depot 映射成 asset pack
依內容、語言、下載時機切分 asset pack,不要把 depot 原樣搬過來當一包。
02
用 converter 產 manifest,再生成 archive
macOS 上需 Xcode 27;官方說 Linux 與 Windows 工具也會跟進,適合納入跨平台 build pipeline。
03
測試 download policy 與語言 fallback
轉換成功不代表玩家體驗正確;還要驗證首次啟動、關卡進入、購買後下載與離線狀態。

重點 3:Unity plug-ins 把 StoreKit 與 Background Assets 拉回 C# 工作流

新的 Apple Unity plug-ins 讓 Unity 專案直接使用 C# API 橋接 native StoreKit 與 Background Assets。StoreKit plug-in 提供 product fetch、purchase、transaction updates、current entitlements;Background Assets plug-in 則處理 manifest、ensure local availability、download status updates。

對 Unity 團隊而言,關鍵不是「可以呼叫 native API」而已,而是購買驗證、內容解鎖、下載進度 UI、Xcode StoreKit Testing、Background Assets mock server 可以串成一條開發與測試流程。

風險與遷移注意事項

購買後一定要驗證 transactionsample flow 強調 purchase success 後仍要檢查 transaction verification;未驗證交易不應解鎖內容。
CurrentEntitlements 是非消耗品與訂閱的真相來源交易可能退款、撤銷、過期或來自其他裝置;不要只靠單次 purchase callback。
Finish() 時機要正確完成驗證與內容授權後再 finish transaction;太早或漏掉都可能造成重複處理或使用者狀態不一致。
下載進度要能被取消與重試Background Assets 下載可能遇到網路、語言 fallback、容量與取消流程;UI 不應只假設一次成功。

對遊戲團隊的實作啟發

01
把語言、關卡、DLC 與 IAP SKU 的邊界一起設計
資產包切分會影響下載體驗、購買體驗、QA matrix 與後續營運活動。
02
在 CI 裡加入 asset pack manifest 驗證
Steam depot converter 很適合放進 build pipeline,但需要檢查 language tag、download policy、sourceRoot 與 archive 輸出。
03
用 Xcode 27 測 StoreKit 與 Background Assets 的整條路
StoreKit configuration file、asset pack folder、mock server、sandbox testing 都應該在 release checklist 中。

來源

主要來源為 Apple Developer 官方影片頁、官方 transcript、章節與 code snippets;YouTube 影片頁用於 iframe 與發布 metadata。官方頁:Unlock in-game content with StoreKit and Background Assets - WWDC26。YouTube:WWDC26: Unlock in-game content with StoreKit and Background Assets | Apple。

// TL;DR