概要
UnityRoom用に作成したゲームで、Addressablesを用い、サーバー上でアセット管理をするための備忘録です
ストレージにはS3を採用し、CloudFront distributionを経由します
環境
Unity2022.3.11f
S3
CloudFront
手順
(1)S3のバケットを作成する
・「アクセス許可」内のブロックパブリックアクセス (バケット設定)をオフにする
・「アクセス許可」内のCross-Origin Resource Sharing (CORS)をよしなに設定する
[
{
"AllowedHeaders": [
"*"
],
"AllowedMethods": [
"GET",
"PUT",
"POST",
"DELETE"
],
"AllowedOrigins": [
"*"
],
"ExposeHeaders": [],
"MaxAgeSeconds": 3000
}
]
(2)CloudFrontのディストリビューションを作成する
・作成したS3バケットをオリジンドメインとして指定
(3)Unity上でAddressablesアセットビルドする
・AddressableProfilesのRemote側をCustomに変更し、Remote.LoadPathをCloudFrontのディストリビューションドメインに変更
(4)Unity上でWebGL向けにビルドする
・Compression FormatをGzipに変更
(5)StreamingAssetsをアップロードする
・ビルドファイル内の「StreamingAssets」内のファイル等をS3バケットにアップロード
(6)loader.jsを編集する
・ビルドファイル内の「Build」内の「hogehoge.loader.js」のstreamingAssetsUrl(2か所)を作成したCloudFrontのディストリビューションドメインに書き換え
~
streamingAssetsUrl:"https://hogehoge.cloudfront.net"
~
l.streamingAssetsUrl="https://hogehoge.cloudfront.net"
~
(7)UnityRoom上にビルドファイルをアップロードする
・4種ファイルをアップロード
おわり
参考