【VRChat】アバターをiOS対応させる方法をわかりやすく紹介!(Unity)

2025年10月25日にVRChatにiOS版が公開されました。
それに合わせて「アバターをiOS対応させたい!」といった方も増えたのではないでしょうか?

この記事では”アバターをiOS対応する方法“をわかりやすく紹介していきます。
この機会に「iOSの方からアバターが見えない!」と言われないようにしましょう!

前提としてアバターのアップロードについて理解している方向けに紹介していきます。
アバターのアップロード方法から知りたい方は下の記事をご覧ください👇

① Unityのプロジェクトをコピーする

PC向けのアバターアップロード・改変をしたプロジェクトを用意します。
PC向けのアバターをアップロードしたプロジェクトをコピーして、そのプロジェクトをiOS対応させていきます。

新しくプロジェクトで作成したアバターをiOS対応する場合は、このプロジェクトのコピーの手順を飛ばしてください。

ALCOMを使用している方も基本的に同じような操作でプロジェクトをコピーすることができます。

まず、VCCを開いてコピーしたいプロジェクトの「…」をクリックして「Create Backup」をクリックします。

次に、バックアップしたファイルを「切り取り」します。
デフォルトの場所は「C:\Users\ユーザー名\AppData\Local\VRChatCreatorCompanion\ProjectBackups」です。

切り取りしたものをVCCのほかのプロジェクトが保存している場所に「張り付け」します。
デフォルトの場所は「C:\Users\ユーザー名\AppData\Local\VRChatCreatorCompanion\VRChatProjects」です。

次に、移動したプロジェクトを展開します。
必要な方は、展開したファイルの名前を変更してわかりやすくします。

最後に、VCCを開いて右上の「▽」から「Add」をクリックして、コピーしたプロジェクトを読み込んで完了です。

この時プロジェクトの名前を「○○_ios」などにしてわかりやすくしておくと便利です。

② iOS対応をする

Android対応にも使用する「VRCQuestTool」を使用します。VCCに追加してください。

Unityのプロジェクトにも「VRCQuestTool」を追加します。

プロジェクトを開いて「Tool」→「VRCQuestTool」→「Convert Avatar for Android」をクリックしてメニューを開きます。

Hierarchyからアバターをドラッグ&ドロップして「変換の設定を始める」をクリックします。

メニューの一番下にある「変換する」をクリックします。

非破壊的にiOS対応することもできますが、本記事では手動で変換していきます。

すると、Hierarchyに変換されたアバターが追加されているはずです。

基本的な対応作業はこれで終了ですが、PC向けPhysBoneが多く設定されているため、上限に引っかかってしまい、アップロードすることができません。なので、削除する必要があります。
次の軽量化のセクションで方法を紹介しています。

③ 軽量化をする

本記事では、筆者が考える最低限しておいた方がいい軽量化の方法を紹介していきます。
Unityが得意ではなく、iOS用のアバターをアップロードするだけで精一杯という方は、飛ばしていただいても大丈夫です。

iOS(Mobile)対応するには、アバターの容量を10MB以下に抑える必要があります。
なので、10MBを超えてしまった場合は、テクスチャなどを低画質にして軽量化してください。

iOS対応アバターのパフォーマンスランクは以下の表です。

ランクポリゴンテクスチャメモリメッシュマテリアルPhysBone
(Conponents)
Excellent7,50010 MB110
Good10,00010 MB114
Medium15,00025 MB226
Poor20,00040 MB248
※その他の要素によっても左右されます

Poorを超えてしまってもアップロードすることは可能ですが、VeryPoorアバターになってしまいます。
MobileユーザはVeryPoorアバターはShowAvatarをしないと見えない設定になっていることが多いので注意してください。

PhysBoneの軽量化

「VRCQuestTool」に付属しているツールを使用してPhysBoneを軽量化していきます。

上のツールバーから「Tools」→「VRCQuestTool」→「Remove PhysBone」をクリックします。

するとメニューが開くので、不必要なPhysBoneのチェックを外していきます。

PhysBoneが8個を超えて9個以上になってしまうとアップロードすることができません。

設定が終わったら「選択していないコンポーネントを削除」をクリックします。
チェックの入れてないPhysBoneがメニューからなくなれば、PhysBoneの軽量化は完了です。

テクスチャの軽量化

「liltoon」に同封されている「lilAvatarUtils」を使用してテクスチャの軽量化していきます。

上のボタンから「liltoon」をVCCに追加して「lilAvatarUtils」をUnityのプロジェクトに追加します。

上のツールバーから「Tools」→「lilAvatarUtils」をクリックしてメニューを開きます。

開いたら、Hierarchyからアバターをドラッグ&ドロップします。

テクスチャの項目から「最大解像度」を調整します。
解像度の部分が現在のテクスチャの解像度です。その部分より小さく設定すると圧縮されます。

顔や衣装など目立つ部分は”1024″にして、目立たない部分を”512″に設定することで外観をあまり損なわずに軽量化することができます。

調整が完了したら、左上にある「適用」をクリックすることでテクスチャを軽量化できます。

これでテクスチャの軽量化は完了です。

変更が適用されない場合

「lilAvatarUtils」で最大解像度を変更した後でも、テクスチャが軽量化できていない場合があります。

その時は「lilAvatarUtils」のメニューからテクスチャをクリックします。

すると、Assetsにテクスチャが表示されるので、選択します。

次に、InspectorからiOSのタブに切り替えて「Override For iOS」のチェックを外し「Apply」をクリックします。

これで「lilAvataUtils」でした変更が適用されます。

絶対した方がいい軽量化

Avatar Optimizer(AAO)にある「AAO Trace Optimize」を使用します。
これは、自動でアバターを最適化してくれる(非破壊)コンポーネントです。

上のボタンから「anatawa12’s gists pack」をVCCに追加します。(”Avatar Optimizer”は”anatawa12’s gists pack”に同封されています)
追加したら、VRCQuestToolと同様に「Avatar Optimizer」をUnityのプロジェクトに追加します。

次に、Hierarchyからアバターを選択してInspectorの下にある「Add Compornent」をクリックします。

検索欄に「aao」と入力して「AAO Trace Optimize」をクリックします。

すると、Inspectorに「AAO Trace Optimize」が追加されます。これで完了です。

ギミックを削除する

「VirtualLens」や「AvatarPoseSystem」などのギミックは容量制限に引っかかりやすく、iOS対応時には動作しなくなる可能性があります。(ギミックによる)

Hierarchyから「EditorOnlyにする」もしくは「削除」するようにしましょう。

画像はEditorOnly

その他の軽量化

本記事ではPoor以下までの軽量化は紹介しません。
過去に軽量化についての記事を作成しているので、興味のある方はご覧ください!

④ アバターをアップロードする

最後にアップロードの作業を行っていきます。
Unityのプロジェクトは基本的にPCのビルドで立ち上がっていると思います。これをiOSに変更する必要があります。

上のツールバーから「File」→「Build Settings」をクリックします。

次に、Platformから「iOS」を選んで「Install with Unity Hub」をクリックします。

iOSのプラットフォームをインストール済みの方は「Switch Platform」をクリックします。

すると、Unity Hubが起動するので、iOSにチェックが入っていることを確認して「Install」をクリックします。

正常に完了すると、先ほどのiOSの画面の「Switch Platform」ができるようになっていると思います。

プラットフォームを切り替えた後、VRChat SDKのアップロード画面を開くと、「iOS」になっていると思います。
「iOS」になっていない場合は変更してください。

最後に、Blueprint IDの確認をして「Build & Publish」をクリックするとアップロードは完了です。

PCとiOSの両方に対応させるには同じ”Blueprint ID”にする必要があります。
また、プラットフォームがPCのままアップロードするとPCのほうが上書きされてしまうので気を付けてください。

Blueprint IDについて知りたい方は下からご覧ください👇

Blueprint IDについて

「Blueprint ID」とはアバターを識別するための文字列のことです。
なので、VRChatにアップロードされた時点で絶対に固有の「Blueprint ID」が付与されます。

自分が過去にアップロードしたアバターの「Blueprint ID」はVRChat SDKのメニューにある「Content Manager」から確認することができます。
「Copy ID」をクリックすることで「Blueprint ID」がコピーされます。

これをアバターの”Pipeline Manager (Script)”にある「Blueprint ID」の部分に張り付けすることで、そのアバターに上書きでアップロードすることができます。

今回はプロジェクトをコピーしているので自動的に引き継がれています。

同じ「Blueprint ID」でもアップロードするプラットフォームが違う場合は、そのプラットフォームのアバターとしてアップロードすることになります。

最後に

アバターをiOS対応にすることはできましたか?
少し大変だったかもしれませんが、これで気軽にVRChatが遊べるiOSユーザーにもアバターを見てもらえるようになりました!

Blueprint IDとプラットフォームだけは気をつけて作業するようにしましょう!
間違えると、せっかくアップロードしたアバターが上書きされてしまうかもしれません…

「ぶいなび」ではほかにもアバター改変についての情報を発信しているので良ければご覧ください👇


記事で使用しているもの
【アバター】エク:https://septem47.booth.pm/items/7328764
【衣装】メルティーセーラー:https://booth.pm/ja/items/6828940