プラットフォーム別のAvatar Override
プラットフォーム別のOverrideを使用すると、クロスプラットフォームアバターの各プラットフォーム向けに異なる設定を構成できます。アバターを複数のプラットフォームに対してビルドおよび公開する際、SDKは選択した各プラットフォームに対し、同一のAvatar IDでそれぞれのアバターを自動的にアップロードします。
この機能を使用することで、Android向けには最適化されたバージョンを、PC向けにはフル機能版のアバターを簡単にアップロードできるようになります。
Avatar IDを変更せずに複数回アップロードを行うことで、プラットフォームごとに異なるバージョンのアバターを手動でアップロードすることも可能です。しかし、これはプラットフォーム別のOverrideを使用する方法よりも手間と時間がかかります。
セットアップ
プラットフォームごとのオーバーライドを設定するには、以下の手順に従ってください。
- 使用したいすべてのアバターのバージョンを同じシーン内に配置します。
- SDKのBuilderタブに切り替えます。
- オーバーライドのベースとして使用するアバターを選択します。これは、SDKのBuilderパネルで「Multi-Platform Build & Publish」をクリックする際に選択するアバターとなります。
- 「Selected Avatar」ドロップダウンの横にある
⋮ボタンをクリックします。
![]()
- 表示されたポップアップで「Add per-platform override」を押します。
- オーバーライド対象のプラットフォームを選択し、そのプラットフォームで使用するアバターを選択します。
![]()
- オーバーライドを設定したいすべてのプラットフォームに対して、このプロセスを繰り返します。
- 変更は自動的に保存されるため、そのままマルチプラットフォームのビルドとアップロードに進むことができます。
プラットフォームごとのオーバーライドを設定すると、マルチプラットフォームビルドを実行した際に、SDKが各プラットフォーム向けに「オーバーライド」バージョンのアバターをビルドおよびアップロードします。
オーバーライドを設定した後は、アバターオブジェクトのルートに「VRC Per Platform Overrides」という新しいコンポーネントが追加されているのが確認できます。このコンポーネントはBuilderパネル内の設定と同じ機能を持っていますが、オーバーライドの設定にはBuilderパネルを使用することを推奨します。このコンポーネントは主に、既存のオーバーライドの確認や、コミュニティ製のツールで使用することを目的としています。
エディタツール
アバターのプラットフォームごとのオーバーライド設定を照会するエディタツールを作成したい場合は、以下のメソッドを使用してください。
using VRC.SDK3A.Editor;
//...
PerPlatformOverrides.GetPlatformOverrides(myAvatarGameObject);
このメソッドは List<PerPlatformOverrides.Option> を返します。オーバーライドが設定されていない場合は null が返されます。
また、以下のメソッドを使用して自分でオーバーライドを設定することも可能です。
using VRC.SDK3A.Editor;
//...
PerPlatformOverrides.SetPlatformOverrides(myAvatarGameObject, new List<PerPlatformOverrides.Option> {
new PerPlatformOverrides.Option {
platform = BuildTarget.Android,
avatar = myAndroidAvatarDescriptor
}
});
このメソッドは、アバターにオーバーライドコンポーネントが存在しない場合に、自動的に追加します。
プラットフォームごとのオーバーライドは、現在「メイン」のアバターオブジェクトに対してのみ設定されます。そのため、全体像を把握するには、通常 VRC_AvatarDescriptor が付いているすべてのオブジェクトをスキャンしてオーバーライドの有無を確認するのが一般的です。
最終更新: