引き続きアプリ開発ネタ。Unityで使える便利なServices Windowが表示できなくなる不具合の解決方法。
症状
Unityを使用中にオフラインとなり、その後ネットワーク復帰後に「Unity IAP」サービス関連が原因でコンパイルエラーが発生する症状が発生した。エラー例は下記の通り。
FileNotFoundException: Could not load file or assembly ‘UnityEngine.Purchasing, …
The Unity IAP plugin is installed, but Unity IAP is disabled, Please enable Unity IAP in the Services window.
エラー内容を見る限りIAPが原因なのでServices タブを確認すると「Loading」のままフリーズ中。Servicesタブを閉じて開き直そうとするがWindow → Servicesが見つからない。
対処法
同様の症状が発生して質問していたのがこのスレッドやこちらのスレッド。ようするに「Assets/Plugins/UnityPurchasing」フォルダが原因の模様。下記の手順で元に戻ることを確認できた。
- 一旦Unityを終了
- 「Assets/Plugins/UnityPurchasing」フォルダをデスクトップに移動
- Unityを起動しプロジェクトを選択
- Servicesウインドウを開けるようになっているので開く
- Servicesの有効・無効を切り替える
- IAPプラグインを再インポート
- 再度Unityを終了
- 「UnityPurchasing」フォルダを削除
- デスクトップに移動した「UnityPurchasing」フォルダと置き換える
- 起動・プロジェクト選択して動作を確認
6の時点でエラーが無い場合は置き換えは不要だと思われる。
何かと不安定なUnity
いつも通りのビルド手順を行っていたら急にエラーになったので驚いた。スクリーンショットが無かったり手順が曖昧なのはテンパって対処していた為。
Unityは不具合報告が多い割に公式の対応が遅い印象がある。利用者が多い分コミュニティで質問したり、調べれば情報が出てくるのは助かるが、早いところ安定した開発環境を提供して欲しい。