Installation
After reading this page, you can import MLC into a project that has the required packages and confirm the install by checking that its two menu items open.
1. Requirements
To make an actual VRChat build with MLC you need all of the following.
| Item | Requirement |
|---|---|
| VRChat | VRChat Avatars SDK 3.x |
| Build pipeline | NDMF 1.x — it creates the disposable build clone and owns the generated assets |
| Materials | MingToon materials on the target avatar |
| Attachment | One of Modular Avatar, VRCFury, or an empty VRC avatar descriptor (Direct) |
The MLC runtime component and the core authoring UI live in assemblies that reference none of VRCSDK, NDMF, Modular Avatar, or VRCFury. Each integration assembly compiles only when its package is present in the project.
Modular Avatar and VRCFury are optional, and MLC silently installs neither of them. Add the one you need to the project yourself.
2. Pick one attachment backend
Leave Attachment on Auto and the first available backend in this order is chosen.
- Modular Avatar
- VRCFury
- Direct Descriptor
- Standalone
| Backend | Conditions |
|---|---|
| Modular Avatar | Modular Avatar is in the project. Creates a temporary child host on the build clone |
| VRCFury | 1.1426.0 or later. If you pick VRCFury explicitly and the integration is absent, the build fails instead of falling back to another backend |
| Direct Descriptor | Writes the menu, parameters, and FX straight into the clone descriptor. It does not merge into an avatar that already uses an FX controller, an Expressions menu, or an Expression Parameters asset |
| Standalone | Attaches nothing to the avatar. On its own it produces no in-game control |
For an avatar that already uses FX, a menu, and parameters, use Modular Avatar or VRCFury.
3. Import
- Open a VRChat project that meets the requirements.
- Add the VRChat Avatars SDK and NDMF first. Both must be present before the MLC VRC and NDMF integration assemblies compile.
- Add whichever of Modular Avatar or VRCFury you intend to use. Skip this if you plan to use Direct Descriptor only.
- Import the MLC distribution package into the project.
- Wait for Unity to finish compiling.
- Open the Console and verify 0 errors.
This is correct. The Project window shows Assets/StudioRaming/MingLightController/, and the Console has no red errors.
4. Confirm the install
- Run
StudioRaming > Ming Light Controller > Openfrom the menu bar. - Check that the window has a
Languagedropdown at the top right and anAvatar Rootfield below it. - Close the window and check that
StudioRaming > Ming Light Controller > Avatar Attachmentopens as well.
This is correct. Both menu items exist, and the first window shows this notice near the top.
This window previews the MLC configuration and budget. It never creates Expression Parameters, menus, FX Animators, clips, or attachment hosts on the authored avatar. The actual setup is applied only to a Play Mode or upload build clone.
Next, attach the settings component to the avatar.
- Select the avatar root in the Hierarchy.
- Run
GameObject > Studio Raming > Ming Light Controller > Add or Configure Component. PickingStudio Raming > Ming Light Controllerfrom the Add Component button does the same thing.
This is correct. One component is attached to the avatar root, and the top of the inspector shows this notice and the Quick Start card.
This component stores settings for this avatar only. It does not modify authored FX, menus, parameters, or materials; actual MLC setup is created only on a Play Mode or upload build clone.
5. Change the language
- Open the
Languagedropdown at the top right of the component inspector or the MLC window. - Pick one of
한국어,English, or日本語.
This is correct. The wording in the inspector and the window switches to that language immediately.
The setting is shared by the Studio Raming editor tools, so changing it in one place makes the others use the same language. Default menu item names follow this setting too, while names you changed yourself stay as you typed them.
6. Prepare the MingToon side
MingToon itself never builds an expression menu, parameters, or FX layers on an avatar. Per-avatar menu layout is MLC's job.
Check two things in the material inspector.
- Leave
Use VRC Runtime Controlson. With it on,VRC Quality Tierand the virtual light, master adjust, and photo look properties are not folded into constants by the bake. - To switch shadow projection on and off from the menu, leave
Switch Shadow Projection From FXon as well.
This is correct. With both toggles on, the menu MLC builds can move those values on the material. With both off, the values fold back into constants and the material is at its lightest, but nothing in game can move them.
7. When the install does not work
| Symptom | Cause and fix |
|---|---|
| The window says "VRCSDK Avatars was not found. The core compile plan can still be validated." | The VRChat Avatars SDK is not in the project. Add the SDK and the message goes away. Configuration validation still works in this state |
GameObject > Studio Raming > Ming Light Controller > Add or Configure Component is greyed out | You are in Play Mode, you selected a child object instead of the avatar root, or you selected a prefab asset in the Project window. Select the avatar root in the scene |
| "The VRCFury provider is not installed. Install VRCFury or choose another build backend." | Attachment is set explicitly to VRCFury but the integration assembly is absent. Add VRCFury 1.1426.0 or later, or pick another backend |
| The build fails with Direct Descriptor | That avatar already uses an FX controller, an Expressions menu, and Expression Parameters. Switch to Modular Avatar or VRCFury |
| Compile errors remain in the Console | An integration assembly that does not compile is treated as absent, and so is its backend. Get the errors down to zero first |
Next
Pick one of the five starting values in Starting Presets, then check your budget in Profiles and the Parameter Budget.