Convert Avatar
Convert your avatar to Android compatible.
First, you should upload your avatar for PC platform. Then convert your avatar and upload it for Android platform.
Avatars are managed by Blueprint ID in VRChat, and you can upload avatar data for each platform with the same Blueprint ID. So PC users will see the original avatar and Android users will see the converted avatar.
VRoid Studio avatars use a lot of transparent materials, and they are not supported on Android. VRCQuestTools can't help such avatars, so you need to modify them manually.
Prerequisite Knowledge
- Basic knowledge of Unity for VRChat
- How to upload your avatar to VRChat
Upload PC Avatar
Before converting your avatar, you should upload your avatar for PC platform. But before uploading your avatar for PC platform, you should do additional work.
Prepare Avatar Converter Settings
Set up settings to convert your avatar to Android compatible.
- Select your avatar in Hierarchy.
- Right-click on the avatar and select VRCQuestTools > Convert Avatar for Quest.
- Convert Avatar for Android window appears.
- Click Begin Converter Settings button of the window.
- VQT Avatar Converter Settings component is added to your avatar and settings appear.
Assign Network IDs to PhysBones
Network ID is an ID which is used to synchronize PhysBones between players. Normally, it is automatically assigned by VRChat SDK and you don't need to care about it. But the number of PhysBones is different between PC and Android, so Network IDs may be changed and not synchronized correctly.
In the previous step 5, VQT Network ID Assigner component is attached to your avatar, and you can assign Network IDs required for synchronization between PC and Android. Upload your avatar for PC platform as usual in this state.
Avatar Converter Settings
Do settings for the following items.
Reduce Avatar Dynamics Components
Android avatar has a hard cap for Avatar Dynamics (PhysBones, Colliders and Contacts). If your avatar has too many PhysBones, you should reduce them.
https://docs.vrchat.com/docs/avatar-performance-ranking-system#quest-limits
- 8 PhysBone components
- 64 PhysBones affected transforms
- 16 PhysBones colliders
- 64 PhysBones collider checks
- 16 Avatar Dynamics Contacts
In other words, even if your avatar is ranked as "Very Poor", you must pass "Poor" performance rank in Avatar Dynamics category at least.
- Expand Avatar Dynamics Settings section, then click Avatar Dynamics Settings button.
- Avatar Dynamics Selector window appears.
- Select the checkbox of PhysBones and others you want to keep. Worst estimated performance rank should be within Poor.
- Click Apply button.
Convert Avatar
You can convert your avatar non-destructively if you are using NDMF-based non-destructive tools such as Modular Avatar. (Reference: Tutorial: Non-Destructive Conversion)
It's good time to create a prefab (or prefab variant) if you are using prefab workflow. VRCQuestTools keeps references to prefabs after conversion. And you can reuse the converter settings.
- Scroll down the settings and click Convert button.
- The converted avatar is created in the same scene.
- Its name has the suffix
(Android)
. - Generated assets are saved in
Assets/VRCQuestTools/<Avatar's object name>
folder.
- Its name has the suffix
The original avatar is deactivcated after conversion. You can restore it from the inspector.
VRCQuestTools never optimize avatar performance. So in most cases, converted avatars would have "Very Poor" performance rank in Android platform.
In Android platform, minimum displayed performance rank of safety can be "Good" or "Poor". This means "Very Poor" avatars are always blocked and replaced with your fallback avatar or imposter unless other people individually change Avatar Display setting (as known as "Show Avatar" functionality).
And smartphone users can't see Very Poor avatars.
References:
Switch Platform to Android
To upload your avatar to Android platform, you should switch Unity's target platform to Android.
- Select File > Build Settings in the menu bar.
- Select Android in the Platform list.
- Click Switch Platform button.
- Wait for a while until the process is finished. At first time, it takes a long time.
Result of the switching platform is saved in the project since Unity 2019. So you don't need to wait for a long time from next time.
In some situation, you can use Unity Accelerator to speed up the switching platform process. See Unity Documentation for details.
Upload Android Avatar
Now you can upload the converted avatar to Android platform. Make sure the original avatar and the converted avatar uses the same Blueprint ID in Pipeline Manager.
After uploading, make sure the avatar thumbnail has the green Mobile icon.