What you need to do before converting textures for Quest avatars

VRC avatars built for PC can use high-resolution textures and complex materials that Quest hardware cannot handle. When you convert textures for Quest, you are reducing file size and complexity so the avatar will load and run on a mobile processor. This means resizing images, changing file formats, and sometimes rebuilding materials from scratch in a Quest-compatible shader.

The core process involves three steps: exporting your textures from your PC avatar project, compressing them to smaller dimensions, and reimporting them into a Quest version of the same avatar using Quest-compatible shaders. Most people do this in Unity, the game engine VRChat uses, though you will need both a PC version and a Quest version of your avatar file to work with.

You do not need to own the avatar to convert it for yourself — you can convert avatars you have downloaded or purchased. However, you cannot share the converted version publicly without the original creator's permission, as you would be distributing their work in a modified form.

Key Takeaways

  • Quest avatars require textures at 1024×1024 pixels or smaller, while PC avatars often use 2048×2048 or larger, so you will need to resize all image files.
  • You must use Quest-compatible shaders (like Poiyomi Quest or Toon) instead of PC shaders, because Quest hardware does not support the same rendering features.
  • Texture atlasing — combining multiple small textures into one larger sheet — can improve performance on Quest by reducing the number of materials the avatar uses.
  • The conversion process happens in Unity; you create a separate Quest version of your avatar project rather than modifying the original PC version.
  • Testing on an actual Quest headset or in the Quest build of VRChat is the only way to confirm your textures will load correctly and perform well.

Resizing and compressing textures to Quest dimensions

Start by identifying all the texture files your avatar uses. Open your avatar project in Unity and look in the Assets folder for image files — these are usually PNG or TGA format. Make a note of their current dimensions; PC avatars commonly use 2048×2048 or 4096×4096 pixel textures. Quest avatars should use 1024×1024 or smaller, and many creators use 512×512 for secondary textures to save memory.

Use an image editor like Photoshop, GIMP (free), or Aseprite to resize each texture. Open the image, go to Image > Scale Image (or the equivalent in your editor), and change the dimensions to 1024×1024 or 512×512. Make sure you are using a resampling method that preserves detail — bicubic or Lanczos are standard choices. Save the resized file as PNG to preserve quality, then replace the original texture file in your Unity project.

After resizing, check the file size of each texture. A 1024×1024 PNG should be between 500 KB and 2 MB depending on complexity. If a texture is much larger, you may need to reduce the color depth or use lossy compression. Some creators use TGA format instead of PNG for Quest textures because TGA files are sometimes smaller, though this varies by image content.

Switching to Quest-compatible shaders

PC avatars in VRChat often use shaders like Poiyomi Standard or Liltoon that support advanced features like parallax mapping, subsurface scattering, and complex material blending. Quest hardware cannot render these features, so you must replace them with Quest-compatible versions. The most common choices are Poiyomi Quest, Toon, or the standard VRChat shaders designed for mobile.

read the Quest shader package from the creator's GitHub or website. Poiyomi Quest is available at poiyomi.com, and Toon is built into VRChat's shader library. Import the shader files into your Quest avatar project in Unity by dragging them into the Assets folder or using Assets > Import Package. Then, for each material in your avatar, change the shader from the PC version to the Quest version in the Inspector panel.

When you switch shaders, some material settings will not carry over automatically. You will need to manually set the texture slots again — drag your resized textures into the Albedo, Normal Map, and other slots in the material inspector. This is tedious but necessary; do not assume the old material settings will work with the new shader. Test each material in the Scene view to make sure colors and details look correct before building.

Creating a separate Quest version of your avatar

Do not modify your original PC avatar project. Instead, create a duplicate of your avatar folder in Unity and name it clearly — something like "AvatarName_Quest" — so you always know which version is which. This way, if you need to update the PC version later, you can do so without affecting your Quest build.

In the Quest version, delete or disable any PC-only components. This includes scripts that reference PC-only features, particle systems with complex shaders, and any GameObjects marked for PC only. Check the avatar descriptor component in VRChat SDK to confirm the avatar is set to Quest platform. You can do this by selecting the avatar root object and looking at the VRC Avatar Descriptor component in the Inspector.

Some creators use a single project with both PC and Quest versions of materials and shaders, then swap them at build time using VRChat's build pipeline. This is more advanced but prevents accidental changes to the wrong version. For most people, maintaining two separate folders is simpler and less error-prone.

Combining textures through atlasing

If your avatar uses many small textures, you can improve performance by combining them into a single texture atlas — one large image that contains multiple smaller images arranged in a grid. This reduces the number of materials Quest needs to load, which speeds up avatar loading and reduces memory use.

Create a new image in your editor that is 1024×1024 or 2048×2048 pixels. Arrange your smaller textures inside it, leaving small gaps between them to prevent bleeding (where pixels from one texture bleed into another at the edges). Save this as your atlas texture. Then, in the material's UV coordinates, adjust the texture offset and scale so each part of the mesh reads from the correct section of the atlas.

Atlasing requires you to adjust UV maps in your 3D model, which is more complex than straightforward resizing. Many creators use free tools like Textools or Substance Designer to automate this process. If you are new to texturing, start with straightforward resizing and only move to atlasing if your avatar is still too heavy for Quest after other optimizations.

Testing your converted avatar in VRChat

Before you consider the conversion complete, build your avatar and test it in VRChat on Quest. Open your Quest avatar project in Unity, go to VRChat SDK > Show Control Panel, and click Build. This creates a file that VRChat can load. If you have a Quest headset, upload the avatar to your account and load it in the Quest version of VRChat to see how it performs.

Watch for these common issues: textures appearing blurry or pixelated (usually means the resolution is too low), materials showing the wrong color (usually a shader setting that did not carry over), or the avatar failing to load at all (usually a missing texture or incompatible script). If textures look blurry, you may have resized them too aggressively; try 1024×1024 instead of 512×512. If materials look wrong, double-check that all texture slots are filled in the material inspector.

You can also test in the PC version of VRChat by switching your avatar to Quest platform in the avatar descriptor, though this will not show you the exact performance you will see on a real Quest headset. Testing on actual Quest hardware is the most reliable way to confirm everything works.

Common mistakes and how to avoid them

The most frequent error is forgetting to replace PC shaders with Quest shaders before building. If you build with PC shaders, the avatar will either fail to load on Quest or load with placeholder pink materials. Always check the shader name in the material inspector before building — it should say "Quest" or "Mobile" in the name.

Another common mistake is resizing textures but not updating the material to point to the new files. If you save resized textures with different names, you must manually drag them into the material slots in Unity. If you overwrite the original files, Unity should update automatically, but it is safer to check the material inspector to confirm.

Some people also forget to disable or remove PC-only scripts and components before building for Quest. These will either cause errors during the build or make the avatar behave unexpectedly on Quest. Go through your avatar hierarchy and check each component — if it references PC-only features like advanced particle systems or desktop-only input, remove it from the Quest version.

Frequently Asked Questions

Can I use the same texture file for both PC and Quest versions?

Technically yes, but it is not recommended. PC avatars benefit from higher-resolution textures, while Quest avatars need smaller files to load quickly. Using the same 2048×2048 texture on Quest will waste memory and slow down loading. Create separate texture files — keep the high-resolution versions for PC and use the 1024×1024 or smaller versions for Quest.

What happens if my textures are too large for Quest?

If textures are too large, the avatar will take a long time to load, may fail to load at all, or will cause performance problems in VRChat. Quest has a memory limit per avatar, and large textures count against that limit. If your avatar is too heavy, reduce texture resolution further (try 512×512 instead of 1024×1024) or use texture atlasing to combine multiple textures into one.

Do I need special software to convert textures?

No. Any image editor that can resize images will work — Photoshop, GIMP, Paint.NET, or even online tools like Pixlr. The key is resizing to the correct dimensions and saving as PNG or TGA. You do not need expensive software; free tools are sufficient for basic texture conversion.

Can I convert avatars I downloaded from other creators?

Yes, you can convert them for your own use. However, you cannot share the converted version publicly or upload it to VRChat as your own avatar. Sharing a modified version of someone else's avatar without permission violates their copyright. If you want to share a Quest version, ask the original creator first.

What is the difference between PNG and TGA for Quest textures?

PNG is more widely used and usually produces smaller files. TGA is uncompressed and sometimes loads faster on Quest, but the file size is often larger. For most avatars, PNG is the better choice. Use TGA only if you notice loading performance issues with PNG and want to test whether the format makes a difference.