VRChat: Unity2018→2019への移行時に注意すべき点を整理する
この記事は、VRChat公式が2021年7月16日に公開した "Migrating from 2018 LTS to 2019 LTS" という記事の内容を筆者が独自解釈し、その中で注意すべき点についてを中心に紹介するものです。
この記事の内容はVRChat公式側が提供する情報以上の内容を提供するものではありません。書いてある内容の分かりづらい(かもしれない)点について補足説明をしますが、それ以外の書いていない内容や独自情報を紹介する記事ではありません。
よって、原文やそれを翻訳した資料を読んだだけで理解できるに越したことはないので、先にそれらにざっと目を通していただくことをお勧めします。それをしたうえで分からない点がある時だけ、この記事を参考にしてください。
【VRChat公式の提供する移行手順原文】
【有志が原文を非公式翻訳した資料】
で、結局何をすればいいの?
やるべきことは、Unity2018のために作られたプロジェクトをUnity2019へ、中身が壊れないように移行することです。
Unity2018と2019とでは、いくつかの機能が拡張・変更されています。そのため、Unity2018用のプロジェクトを何もせずに2019でも利用できるようにする……というのは困難です。適切な手順に従って、2018用のプロジェクトを2019用にアップグレードする必要があります。
具体的にはどうすればいいの?
手順は以下の通りです。
この記事では、取り急ぎ躓きそうなポイントに絞って詳しく紹介していきます。
UnityHubやUnity 2019のインストールについてはこの記事内では割愛します。Unity公式のマニュアルなどをご参照ください。
"プロジェクトのバックアップ" は "コピー&貼り付け" で実施する
プロジェクトをバックアップする、といっても何をすればいいんだ?と思う方がいらっしゃるようです。しかし、何か特別なことをしなければならない訳ではありません。
やるべきことは簡単です。普段 Unity 2018 で開いているプロジェクトフォルダを、コピーしてから同じ場所ですぐ貼り付けするだけです。つまり、今のプロジェクトと中身が全く同じフォルダをもう一つ用意します。
今回のUnity 2019へのアップグレード手順は複雑なことを行うものではありません。ですが、やり方を間違ってしまうと、Unity 2018とUnity 2019のどちらでもプロジェクトが開けなくなってしまう可能性があります。こうなると、せっかく作ったプロジェクトは水の泡。Unity 2018側のデータをUnity 2019側に手作業で再現することすらできません。再起不能(リタイヤ)です。
しかしその際、移行前に中身が全く同じフォルダをもう一つ用意していればどうでしょうか?片方のプロジェクトが壊れてしまっても、移行を試す前の中身のままのプロジェクトが残っているのでもう一度試したり、手作業でUnity 2018側の入力値を参考にUnity 2019側のプロジェクトを作成することができます。
Unity 2019に対応しているVRCSDKはどこにあるの?
2021年8月5日にVRChatの正式版がUnity2019に対応しました。いつも通りVRChatの公式サイトからSDKをダウンロードすればOKです。
SDK3のワールドだけ、VRCSDKをインポートすべきタイミングが違う
先に紹介した手順の通り、SDK3で作成されたワールドのプロジェクトだけUnity 2019用のVRCSDKをインポートするタイミングが異なります。
全てのアバターとSDK2のワールド用のプロジェクトは、プロジェクトをUnity 2019で開く前に予めUnity 2018でUnity 2019用のVRCSDKをインポートする必要があります。
それに対して、SDK3のワールド用のプロジェクトに限り、プロジェクトをUnity 2019で開いた後にUnity 2019用のVRCSDKをインポートしなくてはいけません。
この点を間違えると、前述のバックアップを行っていない場合はプロジェクトが修復不能になる可能性があります。適切なタイミングでVRCSDKをインポートしましょう。
(オープンベータ版のみ?)Unityバージョンの警告は無視してOK
2021年7月16日現在、Unity 2019へプロジェクトを移行し終えてVRCSDKでアバターやワールドをアップロードしようとすると、Unityのバージョンに関する警告が表示されます。
しかし、この警告は無視しても問題ありません。このまま Build & Test やBuild & Publish for Windows などを実行すれば、正常にプロジェクトをビルドしたりVRChatへアップロードすることができます。
困った時は:もう一度試す、それでもだめなら手作業で
基本的にはVRChat公式が提供する手順に従えば問題なく移行できるはずです。しかし、途中や結果に問題が起きた場合は……とりあえず最初からもう一度やってみましょう。それでもダメならVRChat公式に問い合わせるか、新規にUnity 2019のプロジェクトを作成し、手作業で元のプロジェクトを再現することを試しましょう。
Unity 2018から2019への仕様変更の際に使えなくなってしまう機能があり、それを使用しているツールやアセットなどが正しく動作しないために問題が発生している、ということもあり得ます。一つ一つのツールやアセットが正しく動作しているかどうかを確認し、原因が特定できた場合はその作者に問い合わせるのもよいでしょう。
暇ですが暇ではないので不定期投稿になってしまいますが、皆さんに納得して頂けるような記事を作成できるように日々精進していきます。