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.
| Product | Role |
|---|---|
| MingToon BRP core | Material rendering, the inspector and manager, build optimization |
| Ming Light Controller | Per-avatar control settings and in-game expression menu generation |
In the Manager, expand Start → Control lighting in game to find the MLC installation/setup entry. MLC authoring controls become available when the separate add-on is installed.
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
- Add the MLC component to the avatar root.
GameObject > Studio Raming > Ming Light Controller > Add or Configure Component - In Quick Start, choose a starting preset and leave the profile on Auto. Press Apply.
- In Menu Layout, turn on the items you want and set the menu location.
- 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.
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.
| Method | When to use it |
|---|---|
| Modular Avatar | An avatar that already has menus or an FX layer. The safest option |
| VRCFury | When a supported provider is installed |
| Direct Descriptor | Only on a copy whose FX, menus and parameters are empty |
| Standalone | Does 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.
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.
| Profile | How to choose |
|---|---|
| Auto | Looks at your current settings and budget and considers Smooth first. If it does not fit, it switches to Compact |
| Smooth | Prioritizes precision on continuous controls. Uses more bits |
| Compact | Uses 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.
With NDMF 1.14 or newer, parameters added by other tools, such as Modular Avatar, count toward the budget, and the final check runs after all tools have run.
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
MLC makes one MLC folder in the avatar's root menu and puts every item inside it. Turn off Install In MLC Folder in the inspector to place the items directly in the avatar's root menu.
Apply Recommended Menu gives the five below. It is a starting point, and adding or removing items changes the final layout.
Reset · Photo Looks · Virtual Light · Master Adjust · Performance
| Folder | What is inside |
|---|---|
| Photo Looks | Neutral · Flat Studio · Reduce Bloom, plus a Colour folder (Monochrome · Sepia · Vivid · Soft) and a Mood folder (Film · Sunset · Fresh · Night) |
| Virtual Light | Direction · Intensity · Follow Character, and a Mode folder (Off · Replace · Add) |
| Master Adjust | Hue / Saturation Color Wheel · Additive Light · Edge Rim · Shadow · Final Output, and an Advanced folder (off at first) |
| Performance | Cast Shadows · Depth Effects · Outlines · Normal Maps · PBR / Reflections · Distance Scale · Disable All · Enable All |
- Reduce Bloom dims only this avatar's bright areas. It cannot change the world's bloom.
- The Advanced folder costs no bits until you turn it on.
- Distance Scale leaves the menu when every MingToon material MLC binds has its distance performance tiers off, because the shader then never reads that value.
- Debug Mode is an optional folder that the recommended layout does not include. Add it from + Item. It holds Unlit View and an off toggle for each MingToon tab that is on in the bound materials. It is neither synced nor saved, so it costs no bits, changes only your own view, and turns off when the avatar reloads.
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
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.
| Symptom | What to check |
|---|---|
| The menu does not appear | The Play Mode preview option, the attachment method you picked, the SDK and NDMF compile state |
| Direct Descriptor aborted | There are existing menus or FX. Switch to Modular Avatar |
| External cost is unconfirmed | Do not treat the total as final |
| Command fixed-value error | Clean 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