VRChat Quest and Mobile Compatibility Checklist

Meta Quest uses VRChat's Android content build. Android phones and tablets use that same uploaded version, while iOS has its own platform target and device-testing setup.

Cross-platform content requires more than switching the SDK platform selector. The mobile build must use supported assets and components, remain within its platform limits, share the correct content ID, and be tested on the target client.

Build the Mobile Version

Set up the platform module, switch targets in the SDK, validate the mobile assets, and test the resulting build on a device.

  1. Install Android Build Support and, when needed, iOS Build Support for VRChat's supported Unity editor.
  2. Select the mobile platform in the SDK Builder.
  3. Prepare platform-compatible shaders, components, textures, meshes, and UI.
  4. Keep every platform version attached to the same content ID.
  5. Use Build & Test on the target device before publishing.
Quest means Android

When VRChat SDK documentation refers to Quest content, the guidance generally applies to Android. Publishing an Android world makes it available to Quest and Android mobile users.

Install the Platform Modules

VRChat currently uses Unity 2022.3.22f1. Creator Companion can install the supported editor and Android Build Support; verify the modules in Unity Hub before starting a platform build.

In Unity Hub:

  1. Select Installs.
  2. Find the Unity editor used by the VRChat project.
  3. Open its module controls.
  4. Install Android Build Support for Quest, Android phones, and Android tablets.
  5. Install iOS Build Support when the project will publish or test iOS content.

Use the module attached to the same Unity editor version as the project.

Switch the SDK Platform

  1. Open VRChat SDK > Show Control Panel.
  2. Select Builder.
  3. Find the platform selector in the Build section.
  4. Deselect Windows and select Android or iOS.
  5. Confirm the platform switch and wait for Unity to reimport the project assets.
  6. Review the Builder validations for the selected platform.

Large projects can take time to switch because Unity reimports assets for the new target. Do not interrupt the import or judge the mobile materials before it finishes.

Keep the Same Content ID

The PC and mobile builds of a cross-platform world or avatar must use the same blueprint ID. This connects each platform build to one VRChat content entry.

  • Use the SDK's multi-platform publishing or per-platform avatar overrides when they fit the project.
  • When uploading platform versions manually, preserve the blueprint ID from the first upload.
  • Find an existing ID in the SDK Content Manager when repairing a detached platform build.
  • Do not publish the mobile version as an unrelated content entry unless it is intentionally a separate world or avatar.

World and Avatar Limits Are Different

Check Android world Android avatar
Compressed upload size Maximum 100 MB Maximum 10 MB
Uncompressed bundle size Review SDK build statistics Maximum 40 MB
Shaders Custom shaders are allowed, but must be designed for mobile performance Only avatar shaders included with the current SDK under VRChat/Mobile are permitted
Components More component types are available, but their cost still matters Several components are disabled or strictly limited
Performance measurement Profile the world and test it on device Performance Rank and mobile component caps apply

VRChat recommends budgeting approximately 250,000 triangles for an Android world so the scene leaves room for player avatars. For Android avatars, the official optimization guidance recommends aiming below 10,000 triangles; the complete mobile Performance Rank table determines the resulting rank.

Android World Checklist

  • Keep the compressed world build below 100 MB.
  • Budget scene geometry with other users' avatars in mind.
  • Avoid large textures above 1K unless the asset genuinely needs them.
  • Remember that Crunch compression reduces download size but not the texture's in-memory cost.
  • Reduce material and mesh counts without merging the world into objects that prevent useful occlusion culling.
  • Bake lighting where possible.
  • Use efficient world shaders and avoid unnecessary transparency.
  • Profile draw calls and expensive components.
  • Test video, audio, particles, physics, mirrors, cameras, constraints, and Udon systems on the Android client.
  • Confirm the world remains usable without PC-only visual detail.

Android worlds may use custom shaders, unlike Android avatars. That permission does not make every PC shader suitable for a mobile GPU.

Android Avatar Checklist

  • Keep the download size below 10 MB and uncompressed size below 40 MB.
  • Use a supported VRChat/Mobile avatar shader.
  • Check the mobile Performance Rank separately from the PC rank.
  • Reduce texture memory, skinned meshes, material slots, bones, PhysBones, contacts, and constraints.
  • Keep the mobile avatar attached to the same avatar ID as the PC version.
  • Use per-platform avatar overrides when the mobile hierarchy or assets need to differ.
  • Verify lip sync, expressions, viewpoint, PhysBones, and contacts in the mobile client.
  • Treat the mobile avatar as a deliberate version rather than an automatic copy of the PC build.

Mobile defaults to blocking avatars ranked below Medium. Very Poor mobile avatars remain subject to platform management, and mobile PhysBone, contact, and constraint caps can remove those component categories even when a user selects Show Avatar.

Components Disabled on Android Avatars

VRChat disables these component types on Android and Quest avatars:

  • Dynamic Bones
  • Cloth
  • avatar Cameras
  • Lights
  • post-processing
  • Audio Sources
  • Rigidbodies, physics Colliders, and Joints
  • Unity Constraints
  • custom FinalIK components

Particle Systems are supported only within strict limits. Use PhysBones instead of Dynamic Bones and VRChat Constraints instead of Unity Constraints.

These avatar restrictions do not describe the complete world-component rules. Check world behavior separately rather than deleting a world component because it is prohibited on avatars.

Mobile World Interface Checklist

Android mobile players can use touchscreen input instead of VR controllers.

  • Use legible fonts and large text.
  • Make buttons large enough for touch interaction.
  • Remove unnecessary instruction text from small-screen layouts.
  • Avoid making VR-only gestures or controller motion the only route through a core interaction.
  • Consider a screen-space interface when an in-world panel is difficult to use on a phone.
  • Respond to screen orientation and resolution changes when the interface depends on them.
  • Detect input-method changes when world logic must distinguish touch from other controls.
  • Test the complete activity with an Android mobile player.

Do not use desktop or VR testing as proof that a touchscreen workflow is usable.

Test on an Android Device

VRChat's SDK can send test worlds and avatars to an Android device through Android Debug Bridge.

You need:

  • Android Build Support installed
  • the Unity project targeting Android
  • an Android phone, tablet, or Quest with developer mode enabled
  • USB debugging enabled
  • a data-capable USB connection

For an avatar, open VRChat on the device and enter an instance before selecting Build and Test New Build in the SDK. The test avatar appears under SDK Test Avatars.

For a world, launch VRChat on the device at least once, then close it before the first test. Keep the device unlocked while the SDK builds, transfers, and launches the test world.

USB debugging gives the connected computer significant access to the device. Enable it only for trusted development tools and connections.

Test on iOS

iOS uses the same broad mobile optimization guidance but has a separate SDK target and transport:

  • install iOS Build Support for the supported Unity editor
  • select iOS in the SDK Builder
  • configure the VRChat Test Protocol connection
  • enter the development computer's local IP address in the VRChat iOS app settings
  • test the world or avatar on the iOS client

Check VRChat's current iOS setup and Build & Test pages before publishing because the platform remains distinct from the Android workflow.

Impostors Are Not Mobile Builds

VRChat automatically generates impostors for uploaded avatars, including a Quest representation for a Windows-only avatar. Owners can request regeneration from the avatar's page on the VRChat website.

An impostor improves how a fallback is represented. It does not add the original avatar's expressions, dynamics, shaders, or cross-platform functionality to the mobile client.

Compatibility Problems

Android is unavailable in the SDK platform selector.

Close Unity and install Android Build Support for the exact VRChat-compatible Unity editor through Unity Hub. Reopen the project, return to the SDK Builder, and select Android again.

The mobile upload created a separate world or avatar.

The platform versions used different blueprint IDs. Find the original content in the SDK Content Manager and restore that ID to the mobile build before uploading it as the matching platform version.

The PC avatar is pink on Quest.

Android avatars can use only the mobile avatar shaders included with the current VRChat SDK. Assign supported mobile materials to the Android version, rebuild, and test it on the mobile client.

The Android avatar loses lights, audio, cloth, or physics.

Those component categories are disabled on Android avatars. Remove them from the mobile design or replace the feature with a supported alternative instead of expecting the PC component to run.

Build and Test cannot find the Android device.

Confirm developer mode, USB debugging, a data-capable cable, and the device authorization prompt. Disconnect other debugging-enabled Android devices so the SDK targets the intended client.

The mobile world interface is difficult to use.

Test with touch input and revise text size, button size, interaction distance, camera assumptions, and VR-only actions. Add an accessible mobile route to every required interaction.

Final Cross-Platform Check

  • The supported Unity editor has the required platform modules.
  • The SDK Builder targets the intended platform.
  • PC and mobile builds share the correct blueprint ID.
  • The build stays within its world or avatar size limit.
  • Mobile shaders and components are valid for the content type.
  • Avatar Performance Rank and hard component caps are checked.
  • World UI remains readable and operable with touch input.
  • Build & Test succeeds on an actual target device.
  • The published platform entry appears under the intended world or avatar.

Official References

Continue the Mobile Workflow