プラットフォーム別のAvatar Overrides
プラットフォーム別のOverridesを使用すると、クロスプラットフォーム対応アバターにおいて、プラットフォームごとに異なるバージョンを設定できます。アバターを複数のプラットフォーム向けにビルドして公開する際、SDKは自動的に各プラットフォームへ対応するバージョンのアバターを同一のAvatar IDの下でアップロードします。
この機能により、Android向けには最適化されたバージョン、PC向けにはフル機能版のバージョンといったように、アバターのアップロードが簡単に行えます。
Avatar IDを変更せずに複数回アップロードを行うことで、手動でプラットフォームごとに異なるバージョンのアバターをアップロードすることも可能です。しかし、これはクロスプラットフォーム対応のOverridesを使用するよりも手間がかかり、時間も消費します。
Setup
プラットフォーム別のOverridesを設定するには、以下の手順に従ってください。
- 使用したいすべてのアバターのバージョンを同じシーン内に配置します。
- SDKのBuilderタブに切り替えます。
- Overridesのベースとして使用したいアバターを選択します。これは、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を持つすべてのオブジェクトをスキャンして、オーバーライドが存在するか確認することをお勧めします。
最終更新: