---
# System prepended metadata

title: 遊戲線上內容的管理與交付
tags: [2021TGDF, 台北遊戲開發者論壇, 共筆筆記]

---

# 遊戲線上內容的管理與交付

2021 TGDF 台北遊戲開發者論壇

[共筆筆記索引](/ZA0Ckn94T0yN_JM36Z3KPw)

[官網連結](https://2021.tgdf.tw/speakers/19)

[影片連結](https://www.twitch.tv/videos/1082014513?t=03h59m58s)

講者：Arturo Nereu

Arturo 是 Unity 營運解決方案的技術推廣者，他在 2011 年取得學位之前就已經參與了四年的手遊和家用機遊戲的開發。Arturo 對於圖學、遊戲設計和程式設計充滿熱情，同時也是個重度恐怖遊戲愛好者。作為一位 Unity 技術推廣者，他樂於傾聽開發者訴說他們遇到的問題，尤其是那些他也不知道答案的問題，這樣就可以和開發者一同學習成長。他目前的工作重心在推廣 Unity 的營運、金流與使用者互動解決方案上。

議程介紹

在本議程中，我們會一步一步解釋 Unity 的雲端內容交付系統（Cloud Content Delivery，CCD）。聽眾將會理解到如何使用 Addressable Asset System 來實作遊戲素材，好讓你能透過 Unity 的後端架構來動態推送遊戲內容給你遊戲的玩家們。

透過本次分享，聽眾可以學到如何在 Unity 遊戲中運用 Addressables 與雲端內容交付系統來提供動態內容更新。

# 為什麼需要管理素材

- editor 允許我們把所有素材放進去了
- 然而現在的遊戲越來越複雜 -> 素材量增加

# Unity Cloud Content Delivery (CCD)

[官網](https://unity.com/products/cloud-content-delivery)
[文件](https://docs.unity3d.com/Manual/UnityCCD.html)

- 不依賴於引擎，然而針對 unity 有較好的整合
- 後端有強大的 CDN 支援

## How it works?

- 將執行檔與遊戲資源分開
  - 執行檔上傳至遊戲商店
  - 資源上傳至 CCD
- 當玩家需要取得特定資源時才會從 CCD 下載

## model

- Bucket （儲存桶）
  - 儲存資料的最大單位
  - 可以依照環境區分，e.g. testing, production
- Entry
  - 相當於在 bucket 內的檔案 + 一些 metadata
- Release
  - 一個 bucket 內的 Entry 的快照（snapshot），可以做為版本釋出
- Badge
  - 用來標註 release 用，app 可以透過 badge 來下載特定 release
  - e.g. Latest

# Addressable Asset System

- 用單一網址去存取資源，可以設定是要從本地或者其他網址存取
- 可以將不必在執行時就需要的資源先分裝在外部伺服器，需要時再載入
- 可以對不同種類資源做分組
- Addressable 也會協助管理資源相依性問題，比如打包一個場景，他會把場景需要的素材也打包進去
- 要把資源加入到 addressable，可以拖曳到視窗內，或者在 inspector 上勾選 Addressable
- Addressable 主要是使用非同步方式進行載入或下載
- 用 Addressable.AsyncOperationHandle 來註冊 addressable下載完成的事件

# Cloud Content Delivery

- 到官方網站裡的頁面，Onboarding 就會帶你進入設定流程
- 創建好 bucket 後就可以拿到 Addressables remote path，在 Unity 設定貼上後就可以開始用
- 接著在 Addressables -> Group 裡做 build，就會產生對應平台的 asset bundles，產生的就上傳到 bucket
- 增加 release 與 badge 後就可以回到 Unity 測試
- 可以再 Addressables -> Group 中，修改執行模式成 existing builds，就會實際使用到雲端上的資料



###### tags: `2021TGDF` `台北遊戲開發者論壇` `共筆筆記`