Guides:Avatar Performance Ranking: Difference between revisions

From VRChat Wiki
zophie (talk | contribs)
Added more information on avatar performance limits for PC
zophie (talk | contribs)
m Moved note
Line 38: Line 38:


=== Rank Thresholds on PC ===
=== Rank Thresholds on PC ===
Note all GameObjects and Components, including those that are currently disabled, count towards the Avatar Performace Rank.


{| class="wikitable mw-collapsible"
{| class="wikitable mw-collapsible"
Line 100: Line 102:
| '''Audio Sources''' || 1 || 4 || 8 || 8
| '''Audio Sources''' || 1 || 4 || 8 || 8
|}
|}
Note all GameObjects and Components, including those that are currently disabled, count towards the Avatar Performace Rank.


== Optimization Tips (Per Metric) ==
== Optimization Tips (Per Metric) ==

Revision as of 15:12, 26 January 2026

V · ECommunity-written content
The following was created by the community. It may contain material not directly endorsed by the VRChat team. To learn more, consider reading Contributing to the VRChat Wiki.

Introduction

VRChat uses several systems to help manage performance and safety within the platform. Avatar Performance Ranks are one of these systems and are used to communicate how resource intensive an avatar is.

Performance Ranks

Ranks range from Very Poor to Excellent, based on avatar complexity and resource usage in-game.


Avatar Performance Ranks
Rank Icon Meaning
Excellent Highly optimized avatars with minimal impact on performance.
Good Well optimized avatars that are generally safe for most users.
Medium Acceptable avatars that may cause minor performance impact.
Poor Avatars with noticeable performance impact, especially on lower-end systems.
Very Poor Avatars that significantly exceed performance limits and are hidden by default safety settings unless manually shown.

Avatar Metrics

VRChat has a unique avatar metric system that outlines the performance of each avatar, or world. An avatar's metrics are the main measurement for your Avatar's Performance Rank. These metrics measure how resource-intensive your avatar is. The more demanding the metrics are, the lower your avatar will be ranked. Lower ranks affect avatar visibility, performance, and the experience of other users.

Metric Elements

  • Polygons: These measure how complex your avatar's geometry is. A polygon count of an avatar is the number of tiny triangles that make up an avatar's 3D shape. More triangles = more detail, but more performance-intensive; Therefore more work for a system to process and render. This is also known as Triangle Count.
  • Materials: Unique surface types that apply to each part of your avatar. Skin, clothing, eyes, harnesses, etc. More materials = more performance-intensive; Therefore more work for a system to process and render.
  • Textures: These are image files (Such as PNGs, or JPGs), that give color and detail to the materials. Larger textures mean more detail, but make an avatar's size bigger. Bigger size means bigger download, and people may not render your avatar well. Too big of an avatar is not allowed, and cannot be uploaded.
  • Dynamic Bones (Physbones): Bones that move or "jiggle" dynamically with how the avatar itself is moving. Things such as hair, tails, ears, or small accessories may have Dynamic Bones. These can be converted and/or removed easily for avatar performance.
  • Meshes (skinned): These are meshes that deform with the bones. Things such as the body, face, and clothing. Each mesh adds complexity to the avatar; it is recommended to merge and blend meshes when possible.
  • Audio Sources: These sources are simply sound emitters that are attached the the avatar. Voice lines, music, sound effects are audio sources. Multiple sources may cause lay or audio clutter. It is recommended to use 1-2 maximum; Avoid looping audios unless necessary.
  • Real-Time Lights: These are lights that cast shadows or change dynamically. Things like glowing eyes, flashlights, or built-in light probes on some avatars. More lights cause heavy lag. It is highly recommended to bake lighting into textures instead.
  • Shaders: Code that controls how materials look. Things such as a materials glow, if it is transparent (PC only), or animated. Complex shaders are highly performance-intensive, and will crash low-mid end systems if not used carefully. Simple shaders such as VRChat's built-in shaders are safe for all devices. It is typically recommended to avoid transparent shaders and animation unless they are optimized.

Rank Thresholds on PC

Note all GameObjects and Components, including those that are currently disabled, count towards the Avatar Performace Rank.

Thresholds on PC
Rank Excellent Good Medium Poor
Triangles 32,000 70,000 70,000 70,000
Bounds Size 2.5m x 2.5m x 2.5m 4m x 4m x 4m 5m x 6m x 5m 5m x 6m x 5m
Texture Memory 40 MB 75 MB 110 MB 150 MB
Skinned Meshes 1 2 8 16
Basic Meshes 4 8 16 24
Material Slots 4 8 16 32
Physbone Components 4 8 16 32
Physbone Affected Transforms 16 64 128 256
Physbone Colliders 4 8 16 32
Physbone Collision Check Count 32 128 256 512
Contacts 8 16 24 32
Constraint Count 100 250 300 350
Constraint Depth 20 50 80 100
Animators 1 4 16 32
Bones 75 150 256 400
Lights 0 0 0 1
Particle Systems 0 4 8 16
Total Particles Active 0 300 1000 2500
Total Particle Active Polys 0 1000 2000 5000
Particle Trails Enabled False False True True
Particle Collision Enabled False False True True
Trail Renderers 1 2 4 8
Line Renderers 1 2 4 8
Cloths 0 1 1 1
Total Cloth Vertices 0 50 100 200
Physics Colliders 0 1 8 8
Physics Rigidbodies 0 1 8 8
Audio Sources 1 4 8 8

Optimization Tips (Per Metric)

Polygons

Use decimation tools in Blender or Unity to reduce triangle counts. Avoid higher-poly accessories if possible. Combine meshes when possible.

Materials

Merge materials using texture atlases and tools available in Unity. Fewer materials = fewer draw calls, which improves render speed.

Textures

Compress textures (make smaller size, less detail) when possible. It is recommended to use formats like JPEG or WebP for lightweight assets. Use 1024x1024 or lower if possible.

Dynamic Bones (PhysBones)

Switch to PhysBones (Newer system). Limit bone chains, colliders, and detail. Use bone filters to exclude unnecessary movements, and reduce bugs.

Meshes (Skinned)

Combine skinned meshes in Unity using tools like Mesh Baker, or available 3rd party software. Avoid separate meshes for small accessories if possible.

Audio Sources

Use one audio source per avatar if possible. Avoid looping audios, or higher-bitrate audio unless absolutely essential.

Real-Time Lights

Avoid real-time lights at all possibilities. Instead, bake the lighting into textures or use emissive materials.

Shaders

Annoying, but necessary. Use lower-intensive shaders. Unlit and Mobile of course are recommended, but don't look as good or flashy. Avoid transparency, animation, or multi-pass effects unless they are optimized and minimal.

It is possible to view your current avatar metrics from the VRChat avatars menu. Useful to identify possible avatar bottlenecks, and to know where adjustments need to be made if necessary.

Related Systems

Official resources