Skip to content

Auditor Tab

Fynn9563 edited this page Jan 28, 2026 · 3 revisions

Auditor Tab

Video Tutorial

Coming soon - video tutorial placeholder

The Auditor is a comprehensive performance scanner that helps optimize your world for PC and Quest.

Audit Profiles

Select your target platform before scanning:

Profile Description
PC General optimization, less strict thresholds
Quest Strict Quest requirements, flags more issues

Running a Scan

  1. Select your audit profile (PC or Quest)
  2. Click Scan Scene
  3. Review each section for issues
  4. Use the Fix buttons to resolve issues

Performance Scan Sections

Occlusion Culling

Occlusion culling prevents rendering objects hidden behind other objects. This is the single biggest optimization for VRChat worlds.

What it checks:

  • Whether occlusion data is baked
  • Size of baked data

How to fix:

  1. Click Open Occlusion Window
  2. Go to the Bake tab
  3. Click Bake

Tips:

  • Re-bake after moving large static objects
  • Larger worlds benefit more from occlusion culling

Realtime Lights

Realtime lights are rendered every frame and are expensive, especially on Quest.

What it flags:

  • All lights not set to Baked mode

How to fix:

  • Click Fix next to individual lights to make them baked
  • Or click Fix All (Bake Lights) to batch convert

When to keep realtime lights:

  • Animated lights that change during gameplay
  • Dynamic shadows that must update

Static Objects

Static objects can be batched together for better performance.

What it finds:

  • Non-static MeshRenderers that could be static
  • Excludes objects with Animators, Rigidbodies, Pickups (can't be static)

How to fix:

  • Click Make Static next to individual objects
  • Or click Fix All to batch convert

Broken Static Objects

Objects marked static but have components that require them to be dynamic.

What it finds:

  • Static objects with Rigidbodies
  • Static objects with VRC Pickups
  • Static objects with Animators

Why this matters: These objects will behave incorrectly in VRChat. Pickups won't work, physics won't apply.

How to fix:

  • Click Set Dynamic to fix individual objects
  • Or click Fix All (Set to Dynamic) to batch fix

Scene Weight Inspector

Analyzes the size and memory usage of your scene assets.

Geometry Mode

Lists meshes sorted by memory usage:

  • Mesh name
  • Triangle count
  • VRAM size

Click any entry to select the object in the scene.

Textures Mode

Lists textures with interactive controls:

  • Texture name and file size
  • VRAM usage
  • Resolution dropdown - Change max resolution (128-8192)
  • Format dropdown - Change compression (Automatic, BC7, DXT1, DXT5, ASTC 6x6)

Changes apply immediately to the texture import settings.

Audio & Misc Mode

Lists audio clips and shaders:

  • Audio clip names and memory usage
  • Active shaders in the scene

Quest Optimization Helper (Quest Profile Only)

Shows Quest-specific metrics:

Download Size Estimate:

  • Bar showing estimated download size
  • Quest limit is 100MB
  • Color-coded: Green (safe), Yellow (warning), Red (critical)

Texture VRAM Estimate:

  • Total VRAM used by textures
  • Quest has limited VRAM

Extended Auditor Sections

PhysBones

Monitors VRCPhysBone performance metrics in your scene.

Scene Statistics:

  • Components - Total number of VRCPhysBone components
  • Total Transforms - Number of bones being simulated
  • Unique Colliders - Distinct colliders referenced across all PhysBones
  • Collision Checks - Total collision checks per frame (bones × colliders)

Performance Impact: PhysBones run entirely on CPU. Collision checks are the most expensive operation - each bone checks against each assigned collider every frame.

Color Coding:

  • Normal - Under 64 collision checks per component
  • Yellow - 64-128 collision checks (consider optimizing)
  • Red - Over 128 collision checks (high CPU cost)

Component List: Shows each PhysBone component sorted by collision check count:

  • Object name
  • Bone count
  • Collider count
  • Collision checks
  • Sel button to select in hierarchy

Optimization Tips:

  • Reduce collider assignments where possible
  • Use fewer bones in chains
  • Consider disabling collision on less important PhysBones

Missing Scripts

Finds and removes broken/missing script references in your scene.

What it finds:

  • Components where the script file is missing or can't be loaded
  • Shows as yellow warning "The associated script can not be loaded" in Inspector

How to fix:

  • Check items to remove in the list
  • Click Remove Missing Scripts (Checked) to remove selected
  • Or click Remove ALL Missing Scripts to clean everything

Audio Audit

Analyzes audio for optimization opportunities.

What it flags:

  • Stereo audio - Should be mono on Quest
  • Uncompressed audio - Should use compression
  • PCM audio - Wastes memory

How to fix:

  • Click Optimize Checked Audio
  • Applies: Force mono, Vorbis compression, quality 0.7

Particle Systems

Flags expensive particle configurations.

What it finds (varies by profile):

  • Collision enabled - Very expensive
  • High particle counts - Quest: any count, PC: >1000
  • Transparent materials - Extra draw calls

How to fix:

  • Click Reduce Count by 50% to halve particle counts

Physics & Colliders

Finds expensive physics configurations.

What it flags:

  • MeshColliders on Rigidbodies - Extremely expensive
  • Non-convex MeshColliders - Even more expensive

How to fix:

  • Click Fix Checked: Make Mesh Colliders Convex

Alternative fixes (manual):

  • Replace MeshCollider with Box/Sphere/Capsule colliders
  • Remove the Rigidbody if physics isn't needed

Shadow Casters

Finds small objects casting unnecessary shadows.

What it flags:

  • Objects below size threshold casting shadows
  • Quest: <1.0 magnitude, PC: <0.2 magnitude

How to fix:

  • Click Fix to disable shadow casting per object
  • Or Fix Checked (Disable Shadows) for batch fix

Post-Processing (Quest Profile)

Flags post-processing volumes that are expensive on Quest.

What it finds:

  • Unity Post Processing Volumes
  • URP Volume components

How to fix:

  • Disable or remove volumes for Quest builds

Shader Quality (Quest Profile)

Identifies non-mobile shaders.

What it flags:

  • Shaders not containing: mobile, quest, unlit, matcap, toon, toony

How to fix:

  • Click Swap to Mobile Toon to batch convert

Texture Settings (Quest Profile)

Finds textures missing Android compression.

What it flags:

  • Textures without Android platform override
  • Textures not using ASTC compression

How to fix:

  • Click Apply Android Overrides
  • Applies: ASTC 6x6, max 2048px

Undo Support

All fix actions support Unity's Undo system:

  • Ctrl+Z to revert any change
  • Each section has an Undo Last Action button

Best Practices

Scan Order

  1. Fix critical issues first (occlusion, broken static)
  2. Address warnings (lights, static objects)
  3. Fine-tune with extended auditors

Quest Workflow

  1. Create Quest scene copy (Quest tab)
  2. Switch to Quest profile
  3. Fix all sections
  4. Build and test on Quest hardware

Regular Scanning

  • Scan after importing new assets
  • Scan before each upload
  • Scan after major scene changes

Clone this wiki locally