Avatar Impostors And Performance For VRChat Creators

VRChat avatar visibility is not only about whether an upload succeeds. Other players may see the full avatar, a performance-filtered version, an impostor, or a fallback depending on platform, safety settings, performance rank, and whether an impostor exists.

Use this page when you want more people to see a usable version of your avatar, especially across PC, Quest, Android, and crowded events.

Recommended Visibility Pass

Optimize first, then use impostors as a visibility safety net.

  1. Open Avatar Stats and compare the avatar against the PC or mobile thresholds below.
  2. Fix the largest over-limit numbers first: texture memory, meshes, material slots, bones, PhysBones, contacts, constraints, and particles.
  3. Generate or regenerate an impostor after the avatar is uploaded so blocked users can still see a useful representation.
VRChat note

Impostors are avatar body doubles. They help bridge visibility gaps when the normal avatar cannot be shown, including cross-platform and performance-blocked situations.

What Avatar Impostors Are

An avatar impostor is a simplified body double generated for an uploaded avatar. It gives other users something closer to your avatar when they would otherwise see a fallback or robot-style replacement.

Impostors are especially useful when:

  • An avatar was uploaded for Windows but not Android.
  • Another user blocks the full avatar by performance rank.
  • Mobile users need a lighter representation.
  • The creator wants better fallback visibility without rebuilding everything immediately.

Impostors are not a license to ignore performance. They are a safety net for visibility.

Performance Rank Still Matters

Performance rank affects whether people see your avatar, how much of it they see, and what components may be filtered. VRChat's Performance Ranks page is the primary reference for the numbers below.

Stats that usually decide the rank:

  • Triangles.
  • Texture memory.
  • Skinned Mesh Renderer count.
  • Basic Mesh Renderer count.
  • Material slots.
  • Bones in the rig.
  • PhysBone components, affected transforms, colliders, and collision checks.
  • Contacts.
  • Constraint count and constraint depth.
  • Particle systems, active particles, trails, and particle collision.
  • Lights, cloth, physics components, and audio sources.

Mobile platforms are stricter than PC. If your audience includes Quest, Android, or mobile users, test that path directly and aim for Medium or better on mobile, because mobile users cannot see Poor or Very Poor avatars by default.

Concrete Performance Limits To Check

These tables condense VRChat's official avatar performance rank values so creators can quickly see the numbers that matter most.

PC Targets

For PC avatars, Good is a practical public-use target. Poor is the last bounded rank; going above the Poor value puts that stat into Very Poor territory.

Stat Good target Avoid Very Poor by staying at or below
Triangles 70,000 70,000
Texture memory 75 MB 150 MB
Skinned Mesh Renderers 2 16
Basic Mesh Renderers 8 24
Material slots 8 32
Bones 150 400
PhysBone components 8 32
PhysBone affected transforms 64 256
PhysBone colliders 8 32
PhysBone collision checks 128 512
Contacts 16 32
Constraint count 250 350
Constraint depth 50 100
Particle systems 4 16
Active particles 300 2,500
Lights 0 1

Mobile, Quest, And Android Targets

For mobile avatars, Medium or better is the practical visibility target because mobile blocks Poor and Very Poor avatars by default. To avoid Very Poor, stay at or below the Poor value. For several mobile-only component caps, exceeding the limit removes the component behavior even if the user selects Show Avatar.

Stat Medium-or-better target Avoid Very Poor by staying at or below
Triangles 15,000 20,000
Texture memory 25 MB 40 MB
Skinned Mesh Renderers 2 2
Basic Mesh Renderers 2 2
Material slots 2 4
Animators 1 2
Bones 150 150
PhysBone components 6 8
PhysBone affected transforms 32 64
PhysBone colliders 8 16
PhysBone collision checks 32 64
Contacts 8 16
Constraint count 120 150
Constraint depth 35 50
Particle systems 0 2
Active particles 0 200
Mesh particle active polys 0 400
Trail Renderers 0 1
Line Renderers 0 1

For an Excellent mobile avatar, some things really are zero: PhysBone components, PhysBone affected transforms, PhysBone colliders, PhysBone collision checks, particle systems, active particles, mesh particle active polys, trail renderers, line renderers, particle trails, and particle collision. Excellent mobile also allows only 1 Skinned Mesh Renderer, 1 Basic Mesh Renderer, 1 material slot, 1 animator, 75 bones, 7,500 triangles, and 10 MB texture memory.

Mobile Hard Caps And Removed Components

On mobile, the following avatar component caps are hard limits:

  • 8 PhysBone components.
  • 64 PhysBone affected transforms.
  • 16 PhysBone colliders.
  • 64 PhysBone collider checks.
  • 16 contacts.
  • 150 constraint components.
  • 50 constraint dependency depth.

If a mobile avatar exceeds those caps, VRChat removes the limited components. A user's Show Avatar override does not bypass that behavior.

VRChat also disables some avatar component types on Android and Quest. Do not rely on these for a mobile avatar:

  • Lights.
  • Cloth.
  • Physics colliders.
  • Physics rigidbodies.
  • Audio sources.
  • Unity constraints; use VRChat Constraints instead.

Upload Size Limits

Performance rank is not the only gate. VRChat also enforces avatar size limits:

Platform Download size Uncompressed size
Android 10 MB 40 MB
PC 200 MB 500 MB

If the SDK says the avatar is over the platform size limit, fix textures, audio, animation clips, blend shapes, and unused assets before publishing.

Practical Creator Workflow

Use this order:

  1. Upload a private avatar build.
  2. Check SDK warnings and in-client Avatar Stats.
  3. Compare the avatar against the PC or mobile table above.
  4. Confirm the avatar still behaves correctly.
  5. Reduce the largest over-limit numbers first.
  6. Generate or regenerate impostors from the VRChat website.
  7. Preview the impostor in VRChat.
  8. Ask a Quest, Android, or mobile user to check visibility if that audience matters.

Test visibility before an event or public release, especially if the avatar is meant for mixed PC and mobile audiences.

PC Avatar, Mobile Audience

If you only have a PC upload, make a deliberate choice:

Goal Better move
PC avatar with no Android upload Generate an impostor.
Best mobile experience Create and test a dedicated Android avatar version.
Event-ready avatar Target Good on PC and Medium or better on mobile, then generate impostors.
Marketplace or public avatar Plan PC, Android, thumbnails, description, and visibility checks together.

The best result is often both: an optimized avatar plus an impostor.

Common Problems

Help! My avatar uploaded, but people still see a fallback.

Check performance rank, platform support, user safety settings, and whether an impostor has been generated. Upload success does not guarantee full visibility for every player.

Help! Quest users cannot see my PC avatar.

Create an Android avatar variant if you need full mobile support. At minimum, generate an impostor so Quest and Android users have a better fallback representation.

Help! My performance rank got worse after adding polish.

Review new material slots, texture memory, mesh renderers, PhysBones, contacts, constraints, particles, and extra bones. Compare the changed avatar against the PC or mobile thresholds above before publishing.

Official References

Related Reading

Final Advice

Think about avatar visibility as a user experience problem. Your upload is only successful if the people you care about can see a reasonable version of the avatar on the platforms they use.

Avatar Visibility

Make Sure Other Players Can Actually See The Avatar

A beautiful avatar is not useful if it is blocked, filtered, or replaced for the people you want to reach. Performance rank, mobile limits, and impostors all affect visibility.

Suggested Order

  1. Check performance rank Use the SDK and in-client Avatar Stats view to compare the avatar against VRChat performance limits.
  2. Generate or update impostors Use impostors as a better visibility fallback when players cannot load the full avatar.
  3. Build a mobile plan Quest and Android users face stricter avatar limits, so plan a mobile variant or at least a useful impostor.

Common Questions

Do impostors replace avatar optimization?

No. Impostors help visibility when the full avatar cannot be shown, but the original avatar should still be optimized for the audience and platform.

Why can mobile users not see my avatar?

Mobile VRChat blocks Poor and Very Poor avatars by default, and hard mobile component caps can remove PhysBones, contacts, and constraints. The avatar may need a dedicated Android version, fewer costly components, or a generated impostor.