A Unity tool for properly scaling VRChat avatars to match real-world proportions while maintaining VR immersion. Features NDMF integration for non-destructive avatar modifications.
If you just want to scale your arms and legs, there's an easier way to do it in-game with Limb Scaler by nanochip: https://x.com/xNanochip/status/1989030705850949650
This works fine, but if you have any hidden colliders outside your avatar's bounds then it might scale you incorrectly. Working on a fix soon tm.
Note: The exact IK measurement parameters VRChat uses internally are not fully documented. The current defaults are based on community research and testing. We'll update with firm defaults and bump the version once the exact parameters are confirmed.
Platform Changes ChilloutVR Support - Works with CVRAvatar instead of VRCAvatarDescriptor
Reflection-Based - Uses reflection to access CVR CCK types, no direct assembly dependencies needed
CVR-Specific Values - Arm ratio calculations optimized for ChilloutVR's IK system (default: 0.4537)
ViewPosition Handling - Properly handles CVR's automatic viewPosition scaling system
Technical Improvements NDMF Integration - Non-destructive workflow using NDMF build pipeline
No CCK Assembly Reference - Works without needing CVR CCK assembly definitions
Component-Based - Add scaling as a component that processes during build
Better Preview - More reliable preview with proper restoration of CVR avatar settings
Required Dependencies Unity 2021.3 or newer (ChilloutVR recommended version)
ChilloutVR CCK (latest version)
Download from ChilloutVR Documentation
NDMF (Non-Destructive Modular Framework) (Recommended)
Install via VCC: https://vpm.nadena.dev/vpm.json
Or download from NDMF GitHub
Optional (for advanced users) Chillaxins - Reference implementation for NDMF on CVR
Add to VCC with one click:
Or manually add this URL to VCC:
https://immersive-scaler.kittyn.cat/index.json
- β Automated Avatar Scaling - One-click scaling to match your real height
- β VRChat IK Compatibility - Maintains proper VRChat IK measurements
- β Automatic ViewPosition - Maintains correct eye position after scaling
- β Non-Destructive - Unity version uses NDMF for build-time processing
- π― Upper body vs lower body ratio adjustment
- π― Arm and leg thickness control
- π― Thigh vs calf proportion tuning
- π― Hand and foot scaling options
- π― Custom VRChat arm ratio (IK arm length)
- π§ Multiple measurement methods (eye height, total height, various arm measurements)
- π§ Visual measurement gizmos for debugging
- π§ Finger spreading for better controller tracking
- π§ Hip bone adjustment tool
- π§ Center avatar at origin
- π§ Automatic floor placement
Visual measurement gizmos help you understand the scaling calculations
- Unity 2019.4 or newer (VRChat's supported version)
- VRChat SDK3 Avatars
- NDMF (Non-Destructive Modular Framework) - installed automatically if using VCC
- Avatar with Humanoid rig configuration
- Add the Immersive Scaler component to your avatar
- Click "Get Current" to populate values from your avatar
- Adjust settings as needed
- Use "Preview Scaling" to see changes
- Upload your avatar - scaling is applied automatically!
The Immersive Scaler component interface
- Add the Immersive Scaler component to your avatar
- Non-destructive - original avatar is preserved
- Scaling applied during upload/build
- Go to Tools β Immersive Avatar Scaler
- Make permanent changes to your avatar
- Useful for testing and debugging
The Tools window showing NDMF component option
Alert shown when component already exists on avatar
Avatar shrinks unexpectedly
- Click "Get Current" before making adjustments
- Ensure you're using the correct measurement methods
Preview doesn't match final result
- Make sure all bones are properly mapped
- Check that your avatar has a valid Humanoid configuration
VCC can't find the package
- Ensure you've added the repository URL correctly
- Try refreshing your package list in VCC
π Full Troubleshooting Guide
Contributions are welcome! Please read our contributing guidelines before submitting PRs.
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
- Inspired by the Immersive Scaler Blender addon - mathematical concepts reimplemented for Unity
- NDMF framework by bd_ for non-destructive Unity modifications
- VRChat community for testing and feedback
- All contributors to the Immersive Scaler project
- Issues: GitHub Issues
- Discord: Coming soon
- Documentation: Full Documentation
Made with β€οΈ for the VRChat community