Pre-upload checks and fixes for VRChat avatars in Unity.
Scan your avatar, fix the usual SDK problems, shrink textures, then upload like normal.
Vtool is a Unity Editor window for VRChat avatar creators. Point it at your avatar root and it tells you what is wrong before you upload.
| Where | Unity Editor only |
| Install | VRChat Creator Companion (VCC) |
| Price | Free |
| Code | Open source on this repo |
|
Blockers, warnings, and a performance snapshot. Poly count, textures, VRChat setup, PhysBones, audio, Quest shaders, and more. |
Safe one-click fixes. No mesh or object removal. Scripts, materials, bounds, audio, lip sync, view position, PipelineManager. |
Lower import size or prep for Quest. Cap to 512 / 1024 / 2048, restore originals, convert mobile shaders. |
Requirements: Unity 2022.3+, VRChat Avatars SDK, VCC
Step 1. VCC → Settings → Packages → Add Repository
https://raw.githubusercontent.com/DARKSIDE957/Vtool/main/index.json
Step 2. Open your project in VCC → Manage Project → add Vtool Avatar Auto-Fixer Pro
Step 3. In Unity: Vtool → Avatar Auto-Fixer Pro
Tip
You can update while Unity is open. If the window looks old after an update, use Vtool → Apply Package Update (Reload).
- Drop your avatar root into the tool (or Auto-Detect)
- Check tab: read what failed
- Backup Avatar or rely on auto rollback before fixes
- Fix tab: Fix All Safe Upload Errors
- If anything breaks: Rollback Avatar
- Textures tab: only if you need smaller textures or Quest shaders
- Upload through the VRChat SDK
Upload blockers
- Missing
VRCAvatarDescriptororPipelineManager - Missing humanoid Animator
- Missing scripts
- Null material slots
- Broken shaders (pink materials)
- Missing meshes
- Extreme polygon count
Warnings
- View position / lip sync not set
- Chest bone not mapped
- Bad root or negative scale
- High poly count, materials, PhysBones, particles
- 4K / 2K+ textures, missing mipmaps
- Audio not 3D, too loud, play on awake
- Other avatars active in scene
- Non-Quest shaders
What Fix All changes
Fix All is conservative. It does not delete meshes, GameObjects, or material slots.
- Fills null material slots using a nearby material on the same renderer
- Adds
PipelineManagerif missing - Fixes skinned mesh bounds
- Fixes audio (3D, volume, play on awake)
- Sets view position only if empty
- Sets lip sync only if empty
Missing scripts, mipmaps, scene avatars, and placeholder materials are under Individual fixes with a confirmation dialog.
Pink shaders still need manual reassignment.
Warning
Vtool saves a rollback copy before fixes. If something looks wrong, click Rollback Avatar in the Fix tab.
You can also use Backup Avatar for a visible copy in the scene, or Unity Ctrl+Z for the last edit.
Test on a copy of your project if you are unsure.
- Releases
- Report a bug
- Buy Me a Coffee (optional)