Skip to main content

Using Ming Light Controller

This page is for people attaching MLC for the first time. You make brightness and color changeable from an in-game menu. It takes about 15 minutes.

What is this​

Ming Light Controller (MLC) is a separate add-on. You install it apart from MingToon BRP itself.

Building the shader look is MingToon's job. Choosing what the wearer can change in game is MLC's job.

ProductRole
MingToon BRP coreMaterial rendering, the inspector and manager, build optimization
Ming Light ControllerPer-avatar control settings and in-game expression menu generation

Before you start​

  • An avatar with MingToon materials
  • VRChat Avatars SDK
  • NDMF — a shared framework that attaches things to a copy of the avatar
  • Modular Avatar, or supported VRCFury, if the avatar already has menus or an FX layer

MLC does not install these dependencies for you.

Turn it on in 30 seconds​

  1. Add the MLC component to the avatar root. GameObject > Studio Raming > Ming Light Controller > Add or Configure Component
  2. In Quick Start, choose a starting preset and leave the profile on Auto. Press Apply.
  3. In Menu Layout, turn on the items you want and set the menu location.
  4. In Budget & Validation, check the total and whether generation is possible.

If there are no red errors on the budget screen, it worked.

If red errors remain, see what to check in Play Mode and on upload.

After resolving the errors, confirm the menu opens in Play Mode and then upload.

The MLC inspector's Budget & Validation panel showing MLC cost, external cost, total and whether generation is possible

Choosing a preset and pressing Apply are two different things. After applying you can still edit each item, and Undo reverses it.

Choosing an attachment method​

The attachment method sets how the menu MLC builds is attached to the avatar.

MethodWhen to use it
Modular AvatarAn avatar that already has menus or an FX layer. The safest option
VRCFuryWhen a supported provider is installed
Direct DescriptorOnly on a copy whose FX, menus and parameters are empty
StandaloneDoes not attach a menu to the avatar. Pick only this and there is no in-game control

Auto works down the list and picks the first one it can use. If you pick VRCFury without a supported provider, it shows an error. It does not quietly switch to another method.

Write Defaults does not bulk-change your existing FX

The states MLC creates are written with Write Defaults off. The Modular Avatar attachment asks to match the avatar's own setting, so check the final result yourself.

Profiles and budget​

A VRChat avatar has a fixed number of bits available for syncing. The profile sets how those bits are spent.

ProfileHow to choose
AutoLooks at your current settings and budget and considers Smooth first. If it does not fit, it switches to Compact
SmoothPrioritizes precision on continuous controls. Uses more bits
CompactUses fewer bits. The control steps get coarser in exchange

Sync bits and the parameter item count are two different limits. Few bits does not mean few items.

The cost depends on which features are active, on the save and sync settings, and on other components. Judge from the current calculation in the Budget & Validation panel, not from a fixed number in the docs.

Unconfirmed does not mean confirmed usable

If the cost of another component cannot be read, the overall budget cannot be guaranteed. Seeing an MLC estimate does not mean the whole avatar is within the limit.

Menu layout​

The recommended layout is the seven below. It is a starting point, and adding or removing items changes the final layout.

Reset · Final Output · Hue/Saturation · Photo Looks · Virtual Light · Master Adjust · Performance

For each item you decide three things.

  • Enabled — put this feature into the menu.
  • Saved — keep the value the next time the avatar is worn.
  • Synced — other people see it too. It spends budget.

Commands run when pressed​

Commands like Reset or a performance preset are events that run once when the button is pressed. They do not take a fixed value or a restore value the way continuous controls do.

If an old configuration still has an incorrect command fixed value, a warning and a Repair Command Value Settings button appear. Undo reverses it.

MingToon features this unlocks​

The Master Adjust and virtual light editing UI in the MingToon inspector, and the MLC settings entry point in the manager, become available. If the buttons stay locked, check the Console for compile errors and confirm the add-on is installed.

What works without MLC​

Lighting, shadows, rim, depth effects and outline rendering all work without MLC. Master Adjust values saved in a material keep rendering; only the editing UI is hidden.

Securing the depth texture and the build policy belong to the MingToon Manager. Delete MLC and the build behavior is unchanged. → VRChat depth light

What to check in Play Mode and on upload​

Only the settings are stored on the original avatar

The actual menus, parameters and FX are created in Play Mode or on the upload copy. It is normal that no Generated folder appears on the original while you edit.

Before uploading, check that the menu opens, the control directions, the initial values and the Reset behavior.

SymptomWhat to check
The menu does not appearThe Play Mode preview option, the attachment method you picked, the SDK and NDMF compile state
Direct Descriptor abortedThere are existing menus or FX. Switch to Modular Avatar
External cost is unconfirmedDo not treat the total as final
Command fixed-value errorClean it up with that command's repair button

Testing in the editor alone does not verify two-user syncing on the real client. → Current Limitations and Release

Distribution and price​

MLC is distributed free only during the open beta and is sold from the Early Access release onward. The free distribution does not include a MingToon commercial license, and sharing or redistributing the files is prohibited.

MingToon is currently the only supported shader. lilToon and Poiyomi support is planned, and MLC is not a tool that converts shaders.

Official BOOTH store page · License and Commercial Use

Other tools​

Mask Maker is a separate tool for creating masks and vertex paint. It is not required for MLC menu generation. → Mask Maker Integration · Paid Add-ons and Integration