【Unity】UniRx 7.x にアップグレードすると UniTask 系のエラーが出る 
2020/05/08 Fri [edit]
どうやら Unity2019.2.x (2.21f1) が2月頃からアップデートが止まっている…これもコロナウィルスのせいなのか…(会社はロスみたいだし)?
だけど、Unity2019.3.x はずっとアップデートされ続けている…。
しかたないので、そろそろ覚悟を決めて (Android では内部実装が変わるので、ネイティブプラグインが死ぬ可能性がある) Unity2019.3.x にアップグレードしなくてはいけないかな?と思ってやってみたら、大量のエラーが出た。
・【Unity】Unity2019.3 で Android / iOS ネイティブの構成が変わるらしい
(※) Unity 2019.3.13f1 / Windows10(x64) / UniRx 7.1.0 / UniTask 1.3.1 で確認
1つは、どうやらカメラに Unity5 時代にデフォルトで付いていた「GUI Layer」が完全に廃止されたっぽい。もしかしたら旧 GUI も完全に使えなくなったのかな…?
It will be removed after you edit this GameObject and save the Scene.
→ これは一度シーンを保存すれば、自動的に消されるらしい
もう1つは UniRx のエラーだった。その1つは「using UnityEngine.Experimental.LowLevel;」の namespace で、どうやら Unity2019.3 では「using UnityEngine.LowLevel;」になったっぽい。
※この修正は後述の UniRx 7.x にアップグレードする場合は書き換える必要はありません。
error CS0246: The type or namespace name 'PlayerLoopSystem' could not be found (are you missing a using directive or an assembly reference?)
そういえば、UniRx (6.x) は長らくアップデートしてないなぁと思ったので、AssetStore から再ダウンロード&インポート(UniRx 7.1.0)。そしたら今度は UniTask 関連のエラーが大量に出た。
・UniRx - Reactive Extensions for Unity (AssetStore)
error CS0246: The type or namespace name 'UniTask' could not be found (are you missing a using directive or an assembly reference?)
「UniRx.Async の namespace が無い」みたいなエラーだったので、しばらく原因がわからなかったのだが(6.x では普通に使えたので)、github で何か issue でも立ってないかと見ていたら、もっと単純に「UniRx.Async is separated to https://github.com/Cysharp/UniTask」([Ver 7.0.0 で] UniRx.Async のパッケージが分離しました) というコメントを見つけた。ああ、これか、と(笑)。
なので、UniRx.Async のパッケージをDLしようかと思ったら、Ver 2.x.x-preview (プレビュー版)となっている。しかし「This version is preview, if you want to use stable version, check 1.3.1.」(安定版が使いたいなら、1.3.1 を見てね)ともあるので、今回はそちらを使うことにした。
・UniRx (github)
・UniTask (github)
インポートしてみると、UniRx.Async は以前のように「Plugins」フォルダ以下ではなくなったみたい。もしかしたら「Plugins」フォルダ以下に移動した方が良いのかもだが(ビルド順が変わるとか何とか)、まぁ、私は動けば良いので、とりあえずこれでよし(笑)。
・特殊フォルダーとスクリプトのコンパイル順 (Unity Manual)


後で試しに「Assets/Plugins/UniRx」以下に「UniRx.Async」を移動してみたが、これも問題ないようだ。まぁ、コンパイル順でエラーが出たことはないが、アップグレードするときにまとめておいた方が便利なので、Plugins 以下に移動しても良いかもね。
(関連記事)
【Unity】【C#】UniRx で「1フレームごと待機して処理」してみる
- 関連記事
トラックバック
トラックバックURL
→http://fantom1x.blog130.fc2.com/tb.php/353-4ab1afdf
この記事にトラックバックする(FC2ブログユーザー)
| h o m e |