【VRChat】Unity2019への移行 -World(SDK3)編-

皆さん明けましておめでとうございます！
ついにUnity2019への移行の時期がやって参りました！

こんにちはー。NitRoです。

というわけで、公式ドキュメントを熟読して移行作業していきましょうということで。
今回はワールドの移行になります！

実は手順は前回の[Avatar(SDK3)編](https://qiita.com/NitRogeeen/items/e7c02c5b172fb0065513)と大して変わりません。

本日のお題目は以下の通り。
0. Unity Hubをインストールする
1. Unity2019をインストールする
2. SDK3をダウンロードする
3. プロジェクトを移行する 

0.と1.は全く同じ内容になります！

それではやっていきましょう～

# 0. Unity Hubをインストールする
今までUnity Hubを使ってなかったよ:sob:という方、便利なのでこれを機に入れてしまいましょう:relaxed:
すでに使ってるよ:triumph:という方、ここは読み飛ばしてください！

## ダウンロード
以下からダウンロードできます。
[https://unity3d.com/jp/get-unity/download](https://unity3d.com/jp/get-unity/download)
![1_unity_hub.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/436991/41083eb9-d569-45cd-e97a-d701095f51f2.png)

## インストール
ダウンロードしたインストーラを実行して`同意する`をクリック。
![2_unity_hub.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/436991/fed4a28e-5293-8424-6397-b46e33d3910d.png)

インストール先フォルダを選択して`インストール`をクリック。
![3_unity_hub.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/436991/399d72e3-a479-2dcb-3975-5911a023a65c.png)

立ち上げるとこんな感じ。
最初はプロジェクトは何もないと思います。
![4_unity_hub.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/436991/7922dd66-88b9-21dc-f569-1bb731a12630.png)

## UnityIDへのサインイン
Unityのライセンス認証のために、UnityIDへサインインする必要があります！

画面右上の`人間マーク`をクリックして、`サインイン`をクリック。
UnityIDにサインインしてください。
![5_unity_hub_edit.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/436991/160bee72-df5b-6175-b7a8-a5e66c8b341a.png)

メールアドレスとパスワードを入れて、`サインイン`をクリック。
忘れてしまった人は:muscle:気合:muscle:で思い出すか、`パスワードを忘れましたか？`をクリックするかしてなんとしてでもサインインしてください！
![6_unity_hub.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/436991/db03b4d3-18ce-79e6-46a8-6266c584f68e.png)

サインインに成功すると、右上にあった人間マークがアカウントのアイコンに変わります。
![7_unity_hub_edit.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/436991/e1dfb29f-f130-54b7-b7ab-89ed479ff539.png)

## ライセンス認証
Unityを使用するためにライセンスを認証しましょう！

画面右上の`歯車マーク`をクリックします。
![8_unity_hub_edit.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/436991/b649eaae-dec0-631f-dd75-7cb1cea785d0.png)

画面左のカラムから`ライセンス管理`をクリック。
するとライセンスの画面が表示されます。
多分初期状態では何もライセンスが無いと思います。
![9_unity_hub_edit.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/436991/9a4896e5-0ab5-06a7-b71b-828203e27088.png)

画面上部の`新規ライセンスの認証`をクリック。
![9_unity_hub_edit2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/436991/cbed4977-4eb7-2c90-b183-53a15d45a3e0.png)

オプションを選ぶように言われます。
普通の人は`Unity Personal`だと思います。
![10_unity_hub.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/436991/df0d8404-45f0-5fda-e799-e7ee9fa14221.png)
![11_unity_hub.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/436991/9dd41336-fd13-3892-15a9-f74c6de7f85f.png)

以上でUnity Hubのダウンロードとインストールは完了になります。
疲れた方はここで一旦お茶でも飲みましょう:coffee::coffee::coffee::coffee::coffee:

# 1. Unity2019をインストールする
続いて、Unity Hubを使ってUnity2019をインストールしてゆきます。
今回VRChatが指定しているUnityのバージョンは**<font color="Red">Unity 2019.4.29f1</font>**です！
**必ず同じバージョンを使いましょう！お間違いなきよう！！！**

Unity Hubの画面を出してください。
画面左のカラムから`インストール`をクリック。
![1_unity2019_edit.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/436991/a858f658-66d0-8b28-ee1f-f76e20e0fa9e.png)

こんな画面が出ます。
初めて起動された方は空っぽだと思います。
![2_unity2019.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/436991/234abbbb-2942-40ba-17b1-506827b01ba8.png)

画面右上の`インストール`をクリック。
![2_unity2019_edit.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/436991/878dc806-d5bf-1508-fd6e-ac66695926ec.png)

`Unity 2019.4.29f1 (LTS)`を選びます。これが正解です。これ以外はダメです。
![3_unity2019_edit.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/436991/fe5103da-cc73-ef04-1d03-6afe2810cb60.png)

`Microsoft Visual Studio Community 2019`はお好みでチェック入れてください。
Udon触る人はあったほうが良いと思います。もうインストール済みの方はチェック要りません。
`Android Build Support`はQuest版アバターをアップロードする方はチェック入れておいたほうが良いかもです。
![4_unity2019.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/436991/cd6907f2-9783-6195-116b-b27db265d7fc.png)

エンドユーザーライセンス契約を熟読して、`上記の利用規約を理解し、同意します`にチェックを入れます。
チェックを入れたら画面右下の`実行`をクリック。
![5_unity2019_edit.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/436991/7c048a50-985c-cefe-1c92-5db5a440af56.png)

そうするとこんな画面になるので、後はひたすら待ちます。
待っている間にお茶でも飲んでいましょう:coffee::coffee::coffee::coffee::coffee::coffee::coffee::coffee::coffee::coffee:
或いは元気な人は次の手順（2. SDK3をダウンロードする）に進んでしまっても問題ありません。
![6_unity2019.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/436991/19f259ad-3450-8a5b-4acf-292c4c31ac07.png)

インストールが完了すると実体化します。
![7_unity2019.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/436991/50f406e3-99f6-e8a2-fcf3-5c50d65f7c54.png)

# 2. SDK3をダウンロードする
VRChat公式からダウンロードしましょう。
[https://vrchat.com/home/download](https://vrchat.com/home/download)

今回使うのはSDK3-**Worlds**です。`Download SDK3 -Worlds`をクリックしましょう。
![1_SDK3_download.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/436991/e5bdfb74-3d86-3471-c9ad-9dfae82178cf.png)

お茶どうぞ！:coffee:

# 3. プロジェクトを移行する
それではメインの作業になります。
Unity2018のプロジェクトをUnity2019に移行してゆきます。
今回の対象は、SDK3の**ワールド**のプロジェクトです。

## プロジェクトをコピーする
まずプロジェクトのファイルをすべてコピーします。
**<font color="Red">この手順は必ず実施してください。</font>**コピーを取らずに実行してプロジェクトがパァになっても責任は取れません。

プロジェクトのフォルダごとコピーします。
![01_SDK3_world_update.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/436991/b3e0e470-d704-5df7-2a2f-79bb1c104dae.png)

コピーしたフォルダはフォルダ名の後ろに`-2019`をつけておきました。
重複しなければ何でも良いです。明日の自分がなんのフォルダか読み取れるように名前をつけましょう。
この先、この`-2019`を付けたフォルダを触っていきます。コピー元のフォルダ(`-2019`がついてない方)は大事に保管しておきましょう。
![02_SDK3_world_update.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/436991/b51d3fe2-4391-dc1c-bc29-8768eb851acf.png)

## コピーしたプロジェクトをUnity Hubに登録する
先程コピーしたプロジェクトをUnity Hubに登録していきます。

Unity Hubの画面を出してください。
画面右上の`リストに追加`をクリック。
![3_SDK3_avatar_update_edit.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/436991/c3b12fb5-d677-fa7a-180a-996c587395ca.png)

プロジェクト選択のダイアログが出現するので、先程コピーしたプロジェクトのフォルダを選択し、`フォルダーの選択`をクリック。
![03_SDK3_world_update.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/436991/97109a6c-c75f-ae08-a961-6d67f26d4291.png)


プロジェクトのリストに該当のプロジェクトが追加されていればオッケー:ok_hand:です。
![04_SDK3_world_update_edit.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/436991/c9d72054-0702-b03d-7f55-68f0ac10f6f8.png)


## Unity2018でプロジェクトを開く
先程コピーしたプロジェクト(フォルダ名に`-2019`をつけた方)を**Unity2018**で開いてください。
古い方です。一度古い方で開きます。
![04.5_SDK3_world_update.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/436991/996e94fb-32da-60f9-c5f4-7ec5acd750ea.png)


## SDKのアップデート
Unity2018上で、最新のSDKにアップデートします。
2. SDK3をダウンロードする の手順でダウンロードしたSDKをUnity上にドラッグします。
念の為VRCSDK以外が更新されないか確認し、`import`をクリック。
![05_SDK3_world_update.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/436991/f0b3df5b-d0bd-31f2-9bd9-d6b81446af8d.png)

これでSDKのアップデートが完了しました。
![06.5_SDK3_world_update.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/436991/761baecf-2bd6-4182-cb9a-b277bd58aa95.png)


## 空のシーンの作成
ワールドの移行では、一旦空シーンを作成しておく必要があります。

Projectのウィンドウで`右クリック`→`Create`→`Scene`を選びます。
![07_SDK3_world_update.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/436991/ca96ba7e-a6a5-c917-c7e6-38069baef0db.png)

すると、`New Scene`という名前でファイルが作成されます。
![09_SDK3_world_update.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/436991/e24bb9d1-26d0-0366-b934-4832b7a49abc.png)

### シーンの確認
自分のワールドのシーンの保存場所を確認しておきましょう。
僕の場合はここに保存されています。
![10.5_SDK3_world_update.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/436991/6bf6b854-945b-f263-cb01-783cdba9dcf0.png)

### 空シーンを開いておく
Unity2019への移行の前に、空のシーンを開いておく必要があります。
これをやっておかないと、すべてのスクリプトが参照を失ってあぼーんするらしいです。

作成された`New Scene`をダブルクリックしてください。
![10_SDK3_world_update.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/436991/90942a06-ab55-5a93-111b-b66faa208e1c.png)

まっさらな画面が表示されます。
これで完了です。

## Clothの処理
World内にClothを含んでいる場合は対応が必要です。
方法はAvatar編で記載したものと同様なのでこちらを参照ください。
[【VRChat】Unity2019への移行 -Avatar(SDK3)編- Clothの処理](https://qiita.com/NitRogeeen/items/e7c02c5b172fb0065513#cloth%E3%81%AE%E5%87%A6%E7%90%86)

## Unityのアップデート
Unity2018からUnity2019にアップデートしていきます。
Unity2018の画面を閉じて、Unity Hubの画面を開いてください。

アップデートするプロジェクトの行を見てください。
Unity バージョンの列をクリックすると、利用できるバージョンが表示されます。
![11.5_SDK3_world_update.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/436991/f555f9e4-0c41-481b-6218-c14f05d2c2a3.png)


**<font color="Red">2019.4.29f1</font>**を選択します。
![12_SDK3_world_update.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/436991/c9059c5f-ca5b-88f0-6f7f-6fbace53727e.png)

色々聞いてきます。
`確認`をクリック。
![13_SDK3_world_update.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/436991/29b5e735-467a-c4f8-e7d3-ac0cee5d2bd1.png)

`Yes`をクリック。
![14_SDK3_world_update.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/436991/e78b13eb-d8b2-f6db-2e16-55135391fa36.png)

公式によると他にも聞いてくることがあるみたいです。
僕の場合特に出て来ませんでした。
`Continue`とか`I Made a Backup. Go Ahead!`とか押していけば良いようです。

しばらくの間アセットの読み込みが走ります。
お茶を飲みながら待ちましょう:coffee::coffee::coffee:

待っているとUnity2019の画面が開きます。
![15_SDK3_world_update.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/436991/54559520-dcfa-01ff-37dc-8b7e98b63041.png)

ワールドを作成しているシーンを開きます。
[ここ](#シーンの確認)で確認したやつですね。
![16_SDK3_world_update.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/436991/fd35ebaf-5c80-b996-51bb-62c9740788ae.png)

これにて完了です:clap::clap::clap::clap::clap::clap:

U#のアップデートもしておいたほうが良いかもしれません。
[https://github.com/MerlinVR/UdonSharp/releases](https://github.com/MerlinVR/UdonSharp/releases)

お疲れさまでした！！！！！!
:bow::bow::bow::bow::bow::bow: