VRChat にアバターをアップロードしようとして詰まったこと[Unity]


はじめてのアバターアップロードを試してみたところ、詰まるところが何箇所かあったので、忘れないうちに書き残しておきます。

前提条件

https://astoness.com/blogs/times/how-to-upload-avatar-vrchat
こちらの記事のような手順で準備を進め、
【5】カスタムアバターの導入
この辺りまでやってみたけど、下記のような症状が出ている、という方向けです。

  • 何故かアップロードできない
  • エラーが出る
  • アップロードできてもアバター一覧に出てこない

アップロードに挑む

unsupported platform: couldn't get group name for target %i

unsupported platform: couldn't get group name for target %i

こんな感じのエラーがコンソールに出ている場合は Unity のバージョンを合わせる ことでエラーを解決できます。

Unity のバージョンを合わせる

VRchat SDK いわく、 2018.4.20f1 が必要らしいので、これを使えるようにします。

サポートされているバージョンの Unity をインストールする

https://unity3d.com/jp/get-unity/download/archive
このページにアクセスして、

ここをクリック。

Unity Hub でインストールの一覧に対象のバージョンが表示されていればOK。

指定したバージョンの Unity でプロジェクトを作成する

プロジェクトタブで 新規作成 の右側にある矢印をクリックし、

対象のバージョンを選択することで

指定したバージョンでプロジェクトが作成できる。

(エラーはまだまだ続く。)

File Not Found Exception

Build & Publish をクリックして、処理が始まったのに、なぜか止まった…
そして、Unity の下のほうには赤い文字。

よく見てみると、

FileNotFoundException: XXXXXXXXXXX/AppData/Local/Temp/DefaultCompany/New Unity Project/prefab-id-v1_avtr_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.prefab.unity3d does not exist

みたいなことが書いてある。

コンソールを開いて詳しく見てみるとこんな感じ。

これは、Dynamic Bone 関連でエラーが起きていると表示される警告です。

解決方法としては、下記の3つくらいが考えられるのではないかと思います。

  • Dynamic Bone を導入する
  • Dynamic Bone の使われていないアバターを使う
  • Dynamic Bone 関連のスクリプトを削除する

Dynamic Bone を導入する

※ Dynamic Bone をまだ購入していないため、未検証。購入後追記予定。

Dynamic Bone についての詳しい話はこのあたりの記事を。
https://pikali.hatenablog.com/entry/2019/01/14/101628

インポートしたアバターに Dynamic Bone 関連の設定が入っている場合、有料アセットの Dynamic Bone 本体 を別途インポートしてあげる必要があります。
別記事で見かけた記述に、『Dynamic Bone はアバターより前にインポートすべし』というものもありました。
(該当記事は紛失しました…すみませんm(_ _)m)

Dynamic Bone の使われていないアバターを使う

入手したアバターパッケージの中に、Dynamic Bone が使われていない Scene が用意されている場合があります。
見つかった場合は、その Scene のインポートを試してみてください。

上のファイルは Dynamic Bone あり。下のファイルは Dynamic Bone なし。

Dynamic Bone 関連のスクリプトを削除する

Dynamic Bone でエラーが出ているのであればそのスクリプトを削除してやればスッキリ!
するんじゃないかなとは思うのですが、 削除しても正常に動くのか という問題 や、 そんなことができる人は、こんなところで詰まっていない問題 があります。

そんなことができる人は、こんなところで詰まっていない問題 は、こちらの

Missing Remover
https://booth.pm/ja/items/1969758

で解決できるかもしれません。
使用することで、 missing script のエラーが出ている箇所を一括削除できます。(すごい!)

ただ、余計な箇所も削除されてしまう可能性があると思うので、自己責任&治ったらラッキー くらいの気持ちで使ってみてください。

Error saving blueprint.

アップロードを実行すると、 Error saving blueprint. のポップアップが表示されることがあります。
この問題は、空の BlueprintID を設定してアップロードしなおすことで解決できます。

BluePrintID を空にする

アバターの Prefab にアタッチされている PipelineManager を探して Detach をクリックすることで、BlueprintID を空にすることができます。

アバターのアップロードに成功しても、一覧に表示されない

アップロードには成功していて、

Content Manager から確認できるし、

VRChat のマイページからでも確認できるけど、

肝心の VRChat 内ではアバターが一覧に表示されない という場合は、アバターの名前を変更する ことで問題を解決できるかもしれません。

アバターの名前を変更する

この方法は、有用なのかいまいちはっきりしていません。
再現できたのは最初の一度だけで、それ以降は、時間経過によって自動的にアバター一覧に表示されるようになりました。

もしかすると、誰かがすでに使っているアバター名だと使用できない、というようなことがあるのかもしれません。
一度、『誰もそんな名前は付けないだろう』というような名前を入力してアップロードしてみてください。

成功

まとめ

自分でアップロードを行おうとして詰まったところを一通り書いてみました。
なにかおかしな点、その他関連する情報などがあれば教えていただけると幸いです。