「Unity/CloudBuild」の版間の差分
(→Build Remote Catalogのエラーが出るとき) |
(→Addressable Asset ビルド) |
||
行61: | 行61: | ||
===Addressable Asset ビルド=== | ===Addressable Asset ビルド=== | ||
+ | [[Unity/Addressable]] [ショートカット] | ||
# ConfigのAddressable Asset Optionsを選択 | # ConfigのAddressable Asset Optionsを選択 | ||
行111: | 行112: | ||
参考:https://qiita.com/tetr4lab/items/1b26755089820b041b4f | 参考:https://qiita.com/tetr4lab/items/1b26755089820b041b4f | ||
+ | |||
+ | ====プレハブのAddressableがcloudbuildでは、表示されない問題==== | ||
+ | プレハブしかやってないので、他でもおこってるかもだけど・・ | ||
+ | |||
+ | 以下対応して、ビルドしてみるが、直らなかった。 | ||
+ | #Unityメインメニュー/Window/Addressable/Groups/PlayModeScript | ||
+ | #"Use Existing Build(requires built groups)"に選択して、サーバーからとってこれるモードにする。 | ||
+ | #設定ファイルとして、Library/AddressablesConfig.datが変更されるようなので、gitignoreから排除して、gitに追加して実行 | ||
===BuildPlayerContentが見つからないエラーが出るとき=== | ===BuildPlayerContentが見つからないエラーが出るとき=== |
2021年8月2日 (月) 13:16時点における版
目次
CloudBuildをOnへ
window/General/Services/CloudBuildをonへ
CloudBuildが使えるプランか確認
UnityTeasmAdvantedが必要なので、以下リンク先から確認
Unity/UnityTeams [ショートカット]
CloudBuild使えることを確認
- https://dashboard.unity3d.com/
- CloudBuild選択
- 連携してるUnityプロジェクト選択
- Configを開き
- "EDIT SOURCE CONTROL"のリンクが有効であることを確認
git連携
- https://dashboard.unity3d.com/
- CloudBuild選択
- 連携してるUnityプロジェクト選択
- Configを開き
- "EDIT SOURCE CONTROL"のリンクをクリック
- リポジトリ選択(githubとか選択してgitのプロジェクトを選択)
プラットフォーム選択
- Configを開き
- "SETUP NEW TARGET"ボタンを押して、プラットフォーム(WebGLとか)選択
Androidプラットフォームについて
- BundleIdを入力(com.example.~)
- keystoreのファイルをupload
iOSプラットフォームについて
- BundleIdを入力(com.example.~)
- プロビジョニング プロファイルをupload
- p12 ファイルをupload
CloudBuild実行
- historyからBuildボタンを押す
add a sceneエラーが出るとき
以下エラーがでるとき
There were no scenes configured to build! Please add a scene to the build using the Build Settings window of the Unity Editor.
Unityのメインメニュー/BuildSetting/SceneInBuildにAddOpenSceneを、クリックしてシーンを追加する
loading logs; logs unavailable for this project & build.
暫く待つと治り、勝手にBuildが始まる。
WebGLプラットフォームについて
Asset Bundleビルド
- ConfigのAsset Bundle Optionsを選択
- "Yes, I'd like to build Asset Bundles"にチェックを入れ
- Bundles Base Pathにpathを入れる
自動ビルド
コミットすると自動でAsset Bundleビルドを開始するように
- ConfigのBasicのAuto-Buildをonへ
Addressable Asset ビルド
Unity/Addressable [ショートカット]
- ConfigのAddressable Asset Optionsを選択
- "Yes, I'd like to build Addressable Assets"にチェックを入れる
- "Content Update Build"の項目にチェックを入れる。
- "Content State Location Method"に"Use a content State file produced from another build target"
- "Linked Build Target" を"Default WebGL"へ
2019/8ぐらいから CloudBuildにAddressablesが追加されたっぽい。
参考:https://qiita.com/yakimeron/items/821e101307e69c8eddaf
addressables_content_state.binを使ってビルド
Assets/AddressableAssetsData/WebGL/addressables_content_state.binにファイルが有るか確認。
- "Content State Location Method"に"Use a content State file from Source Control"を選択し
- Path to Content State Fileに"Assets/AddressableAssetsData/WebGL/addressables_content_state.bin"を入れてるとなる。
以下エラーになった場合
[Unity] Error Building Addressables: Could not find a part of the path "/BUILD_PATH/new-unity-project-1.default-webgl/Assets/AddressableAssetsData/WebGL/addressables_content_state.bin".
.gitignoreに以下のようなものが入ってないか確認。入っていれば削除して、binファイルをgitに含める。
# Packed Addressables /[Aa]ssets/[Aa]ddressable[Aa]ssets[Dd]ata/*/*.bin*
default-webglが無いと出るとき
以下エラーになった場合
1: Error: Could not find Content State File for Linked Build Target "default-webgl". Please ensure at least one addressables build has completed successfully for that target.
ProfileにDefault以外が選択されてないか確認して、Default以外が選択されていれば、それを、CloudBuildのAddressableAssetOptionsのProfile Nameに入れる。
ProfileNameを入れても、同じエラーになった場合は、
default-webglに設定されている、BuildPathやLoadPathがあるか確認する。
Build Remote Catalogのエラーが出るとき
以下エラーが出るとき
[Unity] ERROR: Previous build had 'Build Remote Catalog' disabled. You cannot update a player that has no remote catalog specified
- Assets/AddressableAssetSettingのBuildRemoteCatalogをonへ
- 新たに表示される、以下を項目をnullから以下へ設定する。
- Build Path を RemoteBuildPath へ
- Load Path を RemoteLoadPath へ
- Addressableのcacheを消し、Addressableを再ビルドするとcatalogがServerData/WebGLの下にできる(例:catalog_2021.07.31.16.59.53.hashとcatalog_2021.07.31.16.59.53.json)
- (オプション)AddressableAssetSettingのPlayerVersionOverrideを1.0へするとcatalog_2021.07.31.16.59.53.hash、catalog_2021.07.31.16.59.53.jsonなどが、catalog_1.0.hash、catalog__1.0.json)となる。
- RemoteLoadPathのurlにServerData/WebGLの下にあるbundleとcatalogファイルをup
→全部実行で、ビルドできた。 →RemoteLoadPathのurlに上げたデータを削除してもビルドできた。 →Assets/AddressableAssetsData/WebGL/addressables_content_state.binを消すと、`[Unity] Error Building Addressables: Could not find a part of the path "/BUILD_PATH/newunityproject11.default-webgl/Assets/AddressableAssetsData/WebGL/addressables_content_state.bin".`エラーとなった。
参考:https://qiita.com/tetr4lab/items/1b26755089820b041b4f
プレハブのAddressableがcloudbuildでは、表示されない問題
プレハブしかやってないので、他でもおこってるかもだけど・・
以下対応して、ビルドしてみるが、直らなかった。
- Unityメインメニュー/Window/Addressable/Groups/PlayModeScript
- "Use Existing Build(requires built groups)"に選択して、サーバーからとってこれるモードにする。
- 設定ファイルとして、Library/AddressablesConfig.datが変更されるようなので、gitignoreから排除して、gitに追加して実行
BuildPlayerContentが見つからないエラーが出るとき
以下エラーがでるとき
Building Addressables: ERROR: Could not find BuildPlayerContent in Addressable Assets assembly.
Config/AddressablesBuildのチェックを外す