Skip to content

MilchZocker/imscaler-cvr

Β 
Β 

Repository files navigation

VRChat Immersive Scaler

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.

VCC Compatible Unity 2019.4+ NDMF Compatible

Differences from Original VRChat Version

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

Requirements

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

πŸš€ Quick Install

Add to VCC with one click:

Add to VCC

Or manually add this URL to VCC:

https://immersive-scaler.kittyn.cat/index.json

πŸ“‹ Features

Core Scaling Features

  • βœ… 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

Customization Options

  • 🎯 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)

Advanced Features

  • πŸ”§ 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

Measurement Gizmos

Visual measurement gizmos help you understand the scaling calculations

πŸ“‹ Requirements

πŸ› οΈ Usage

Basic Setup

  1. Add the Immersive Scaler component to your avatar
  2. Click "Get Current" to populate values from your avatar
  3. Adjust settings as needed
  4. Use "Preview Scaling" to see changes
  5. Upload your avatar - scaling is applied automatically!

Component UI

The Immersive Scaler component interface

Two Ways to Use

Method 1: NDMF Component (Recommended)

  • Add the Immersive Scaler component to your avatar
  • Non-destructive - original avatar is preserved
  • Scaling applied during upload/build

Method 2: Tools Menu

  • Go to Tools β†’ Immersive Avatar Scaler
  • Make permanent changes to your avatar
  • Useful for testing and debugging

Tools Window

The Tools window showing NDMF component option

Component Exists Alert

Alert shown when component already exists on avatar

πŸ“– Full Documentation

πŸ”§ Troubleshooting

Common Issues

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

🀝 Contributing

Contributions are welcome! Please read our contributing guidelines before submitting PRs.

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/AmazingFeature)
  3. Commit your changes (git commit -m 'Add some AmazingFeature')
  4. Push to the branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

πŸ“œ License

This project is licensed under the MIT License - see the LICENSE file for details.

πŸ™ Acknowledgments

  • 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

πŸ“ž Support


Made with ❀️ for the VRChat community

About

Unity tool for properly scaling VRChat avatars to match real-world proportions

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C# 97.2%
  • Shell 1.8%
  • JavaScript 1.0%