Skip to main content

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.

ItemRequirement
VRChatVRChat Avatars SDK 3.x
Build pipelineNDMF 1.x — it creates the disposable build clone and owns the generated assets
MaterialsMingToon materials on the target avatar
AttachmentOne 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.

MLC does not install other packages for you

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.

  1. Modular Avatar
  2. VRCFury
  3. Direct Descriptor
  4. Standalone
BackendConditions
Modular AvatarModular Avatar is in the project. Creates a temporary child host on the build clone
VRCFury1.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 DescriptorWrites 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
StandaloneAttaches 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​

  1. Open a VRChat project that meets the requirements.
  2. Add the VRChat Avatars SDK and NDMF first. Both must be present before the MLC VRC and NDMF integration assemblies compile.
  3. Add whichever of Modular Avatar or VRCFury you intend to use. Skip this if you plan to use Direct Descriptor only.
  4. Import the MLC distribution package into the project.
  5. Wait for Unity to finish compiling.
  6. 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​

  1. Run StudioRaming > Ming Light Controller > Open from the menu bar.
  2. Check that the window has a Language dropdown at the top right and an Avatar Root field below it.
  3. Close the window and check that StudioRaming > Ming Light Controller > Avatar Attachment opens 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.

  1. Select the avatar root in the Hierarchy.
  2. Run GameObject > Studio Raming > Ming Light Controller > Add or Configure Component. Picking Studio Raming > Ming Light Controller from 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​

  1. Open the Language dropdown at the top right of the component inspector or the MLC window.
  2. 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.

  1. Leave Use VRC Runtime Controls on. With it on, VRC Quality Tier and the virtual light, master adjust, and photo look properties are not folded into constants by the bake.
  2. To switch shadow projection on and off from the menu, leave Switch Shadow Projection From FX on 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​

SymptomCause 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 outYou 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 DescriptorThat avatar already uses an FX controller, an Expressions menu, and Expression Parameters. Switch to Modular Avatar or VRCFury
Compile errors remain in the ConsoleAn 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.