今回は Google から提供されている ARCore を Unity で使用している方 向けの Tips です。
Unity 2017 で CloudAnchors を使用して開発していた場合、そこから最新の Unity 2018.2(2018年10月現在)にアップグレードすると以下のようなエラーが出ます。
「Assets/GoogleARCore/Examples/CloudAnchors/Scripts/CloudAnchorUIController.cs(85,62): error CS0619: `UnityEngine.Network' is obsolete: `The legacy networking system has been removed in Unity 2018.2. Use Unity Multiplayer and NetworkIdentity instead.'」
Unity 2017 で CloudAnchors を使用して開発していた場合、そこから最新の Unity 2018.2(2018年10月現在)にアップグレードすると以下のようなエラーが出ます。
「Assets/GoogleARCore/Examples/CloudAnchors/Scripts/CloudAnchorUIController.cs(85,62): error CS0619: `UnityEngine.Network' is obsolete: `The legacy networking system has been removed in Unity 2018.2. Use Unity Multiplayer and NetworkIdentity instead.'」
(開発中のアップグレードはできるだけしたくないですね。しかし今回、Unity2017.4 で CloudAnchors を使用した開発を行っていましたが、訳あって Unity2018.2 にアップグレードする必要がでてしまいました。)
エラーの原因の部分はすぐ分かると思いますが、「CloudAnchorUIController.cs」のStartメソッド内のIPアドレス取得部分です。
【エラーの原因】
要は以下の Bag Fix にあるように以前あった UnityEngine.Network クラスは Unity2018.2 で使われなくなったということ。
Bug fixes:
Fixed 'UnityEngine.Network' is obsolete: The legacy networking system has been removed in Unity 2018.2. Use Unity Multiplayer and NetworkIdentity instead.' in Unity 2018.2 and above.
【エラーの原因】
要は以下の Bag Fix にあるように以前あった UnityEngine.Network クラスは Unity2018.2 で使われなくなったということ。
Bug fixes:
Fixed 'UnityEngine.Network' is obsolete: The legacy networking system has been removed in Unity 2018.2. Use Unity Multiplayer and NetworkIdentity instead.' in Unity 2018.2 and above.
URL:https://github.com/google-ar/arcore-unity-sdk/releases
【エラーの解決法】
以下のサイトから最新の「ARCore SDK for Unity」をダウンロードしてインポートします。私のダウンロード時はv1.5.0です。
https://github.com/google-ar/arcore-unity-sdk/releases
このエラーはこれで簡単に回避できます。
その際、同時に出た以下のエラーは同じ問題と解決法となります。
「Assets/GoogleARCore/Examples/CloudAnchors/Scripts/CloudAnchorUIController.cs(85,62): error CS0619: `UnityEngine.Network.player' is obsolete: `The legacy networking system has been removed in Unity 2018.2. Use Unity Multiplayer and NetworkIdentity instead.'」
「Assets/GoogleARCore/Examples/CloudAnchors/Scripts/CloudAnchorUIController.cs(85,69): error CS0619: `UnityEngine.NetworkPlayer.ipAddress' is obsolete: `The legacy networking system has been removed in Unity 2018.2. Use Unity Multiplayer and NetworkIdentity instead.'」
【エラーの解決法】
以下のサイトから最新の「ARCore SDK for Unity」をダウンロードしてインポートします。私のダウンロード時はv1.5.0です。
https://github.com/google-ar/arcore-unity-sdk/releases
このエラーはこれで簡単に回避できます。
その際、同時に出た以下のエラーは同じ問題と解決法となります。
「Assets/GoogleARCore/Examples/CloudAnchors/Scripts/CloudAnchorUIController.cs(85,62): error CS0619: `UnityEngine.Network.player' is obsolete: `The legacy networking system has been removed in Unity 2018.2. Use Unity Multiplayer and NetworkIdentity instead.'」
「Assets/GoogleARCore/Examples/CloudAnchors/Scripts/CloudAnchorUIController.cs(85,69): error CS0619: `UnityEngine.NetworkPlayer.ipAddress' is obsolete: `The legacy networking system has been removed in Unity 2018.2. Use Unity Multiplayer and NetworkIdentity instead.'」
【注意点】
簡単に解決できると書きましたが、少し注意点があります。
- ARCore内のScriptを直接編集している場合、絶対バックアップをとっておきましょう。上書きされて 無くなってしまいます。
- 最新のARCoreのパッケージをインポートする際、前にインストールしてあったARCoreのパッケージはインポート前に削除すべきです。
でないと、以下のようなエラーがビルド時に発生します。
Error: Duplicate file(s) in apk:
Sponsored Link