VRChatのUnity2019移行作業で沼にはまってた話をしてみる

初めましての人は、初めまして。
こんにちはの人は、こんにちは。
VRChatの零細手打ちUdon屋さん、Lilyです。

VRChatの対応Unityバージョンが2019.4.29f1になったという話を聞きつけ、手元のプロジェクトについて、UnityとVRCSDKのバージョン移行作業を行っていました。
そしたら、移行に失敗し続け、随分長い間、沼にはまって抜け出せなくなっていました。じゃあ何に足を取られていたの?っていう話をします。

とりあえず、更新手順を調べてその通りに作業してみていたのですが、Unityがエラーを吐いて全く解決しない。手順書が全く意味をなさない。なぜ!どうして!わけがわからないよ……

一応、こことかこことかこことか見てたんですよ?見てたんです。
でもエラーが出て詰んでは、ファイルのコピーからやり直すループ世界線を辿っていたのです。今となっては何のエラーだったのか、その全てを憶えてはいません。

結果として、私の個人的方法で回避することになりました。
ということで、私が明確に詰まった点を何点か備忘録的に挙げておきます。

VRCSDKを上書き更新してもうまくいかない

更新手順書を見ると、Unity2018で空シーンを作って、Unity2019で開き直して、元のシーンを開いて、最新SDKをimportしなさい、とあります。
↑UdonSharp使ってるので、空シーンでクッションが必要らしい

指示通りに作業したところ、

Could not load signature of VRC.SDK3.Components.MultipleDisplayUtilities:GetRelativeMousePositionForDrag due to: Could not load file or assembly 'UnityEngine.UI

……?

何度やってもうまく行かない。大体のケースでは、VRCSDKのコントロールパネル(Publishとかするやつ)が表示できない、もしくは、UdonBehaviorがことごとく壊れている、という事態でした。

->上書き更新はやめて、新しいプロジェクトにファイルを移動しました

・UnityHub->2019.4.29f1で新規作成
・VRCSDK3-WORLDをimport
・UdonSharpをimport
・他に必要なAssetをimport(私ならBakeryとか)
・元のプロジェクトからそれら以外のファイルをコピーしてくる
・編集したいシーンを開く

という手順で解決することになりました。今のところは問題ないようです
それら以外のファイル、を選別するのが若干めんどくさいかな……

ちなみに、上記作業の途中にも問題や注意点がありました。

Cinemachineがない、とエラーに怒られる

知らんやん……
たぶん、VRCSDKをimportした後ですが、エラーメッセージでCinemachineなるものが見つからない!といったような叱られ方をしました。

・Unity上で、Window->PackageManager
・右上検索窓に"cinemachine"と入れて検索
・左のタブにCinemachineが登場するので、選択して、右下のInstall

無い!と怒られたら、三回〇ね!と悪態を吐きながら入れてやりましょう

UdonSharpのExamplesは入れない方が安定する

UdnoSharpを使っていて、これまでに何回かExamplesに入ってる自分が知りもしないソースがエラーを吐いて、コンパイルさせてくれないことがありました。

私はExamplesディレクトリのデータはimportしないようにしています

import時に出てくるダイアログで、Examplesの左のチェックを外してあげればOKです。

とりあえずパッと憶えているのはこれぐらいかしら……

File contains the same file identifier (3) for multiple object types (PrefabImporter)

他にこんなエラーも出ていましたが、これは世界を繰り返しているうちにいなくなりました。Prefabの何が怒られていたのか、今でもわかりません。

ねぇ…私がいったい何をしたって言うの……?


この記事が気に入ったらサポートをしてみませんか?