CrossRoad

XRを中心とした技術ブログ。 Check also "English" category.

PLATEAU SDK for Unityを含むプロジェクトをビルドした時に出たエラーと解決方法

PLATEAU SDK for Unityを含んだUnityプロジェクトでビルドを試したところ、エラーが出ました。

このエラーが普段出ないタイプで解決策も見つからず、最終的にPLATEAU SDKとUnityのバージョンを変えることで解決しました。

今回は、PLATEAU SDKとUnityのバージョンによるエラーの話と、iOSビルドした時に出た他のエラーについて記載しました。

使用した環境
・Unity 2021.3.28f1
・Mac OS Ventura 13.4
・PLATEAU SDK for Unity v1.1.5, v1.1.6
・PLATEAU SDK for Unity v2.0.0-alpha
・PLATEAU SDK Toolkits for Unity v0.1.0

1. Unity 2021.3.28f1とPLATEAU SDK for Unity v1.1.5の組み合わせでは、mac/iOS buildに失敗する

試したこと
・Unity 2021.3.28f1の上でPackage Managerを使ってPLATEAU SDK for Unity v1.1.5をインストールする
・CityGMLのインポートなどは行わず、GameObject > 3D Object > Cube でCubeを1つだけ表示する
・この状態でmac buildする
・エラーが出てビルドに失敗する

(CityGMLでPLATEAUデータを入れたとしても同じ結果になります)

このようなエラーが出ます

UnityEditor.BuildPlayerWindow+BuildMethodException: 3 errors
  at UnityEditor.BuildPlayerWindow+DefaultBuildMethods.BuildPlayer (UnityEditor.BuildPlayerOptions options) [0x002ce] in /Users/bokken/build/output/unity/unity/Editor/Mono/BuildPlayerWindowBuildMethods.cs:194 
  at UnityEditor.BuildPlayerWindow.CallBuildMethods (System.Boolean askForBuildLocation, UnityEditor.BuildOptions defaultBuildOptions) [0x00080] in /Users/bokken/build/output/unity/unity/Editor/Mono/BuildPlayerWindowBuildMethods.cs:95 
UnityEngine.GUIUtility:ProcessEvent (int,intptr,bool&) (at /Users/bokken/build/output/unity/unity/Modules/IMGUI/GUIUtility.cs:189)

ついでに、こういうエラーも出ます。

Library/PackageCache/com.synesthesias.plateau-unity-sdk@5a1b076af7de/Runtime/CityImport/AreaSelector/AreaSelectorBehaviour.cs(201,17): error CS0103: The name 'EditorUtility' does not exist in the current context

「UnityEditor.BuildPlayerWindow+BuildMethodException:」で調べると、たまに発生する人もいるようですが、原因不明のようでした。Cドライブ直下でプロジェクトを作るとか、日本語文字を入れないなどの解決案もありましたが何も解決に繋がりませんでした。

また、1つめのエラーの終わりの方に出ている" /Users/bokken/"はUnity側のビルドマシンの名称らしいです。なぜそれがここで出るのか不明です。

参考:
miyukifueda.hatenablog.com

もう1つのエラーのEditorUtilityも含めて色々調べたのですが、こうすれば解決できる、という情報は見つけられませんでした。

2. Unity 2021.3.28f1とPLATEAU SDK for Unity v2.0.0の組み合わせでは、mac/iOS buildに成功する

・Unity 2021.3.28f1の上でPackage Managerを使ってPLATEAU SDK for Unity v2.0.0-alphaをインストールする
・CityGMLのインポートなどは行わず、GameObject > 3D Object > Cube でCubeを1つだけ表示する
・この状態でmac buildする
・ビルドが成功する

特に問題なくビルドに成功して、test.appを生成することができました。

3. Unity 2021.3.28f1とPLATEAU SDK for Unity v1.1.6の組み合わせでは、mac/iOS buildに成功する

こちらもSDK for Unity v2.0.0と同じ手順で同じ結果になりました。

4. iOSビルドをするとき、failed to determine xcode installation path - "xcode-select -p" is XCode installed? が出て失敗する->解決できる

これはPLATEAUとは関係ないのですが、原因と解決方法がこちらの記事にまとまっております。

marumaro7.hatenablog.com

ただ、私の場合Vision OS Simulatorの検証 をしていたのでXcode 15 beta2が入っております。そのため、コマンドではXcode-beta.appとする必要がありました。

◼︎通常のXcodeを使っている場合

sudo xcode-select --switch /Applications/Xcode.app

◼︎beta版のXcodeを使っている場合

sudo xcode-select --switch /Applications/Xcode-beta.app

5. おわりに

原因はよくわからないので対処療法になりますが、何かの参考になれば幸いです。