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

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​

  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.

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.

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​

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

FolderWhat is inside
Photo LooksNeutral · Flat Studio · Reduce Bloom, plus a Colour folder (Monochrome · Sepia · Vivid · Soft) and a Mood folder (Film · Sunset · Fresh · Night)
Virtual LightDirection · Intensity · Follow Character, and a Mode folder (Off · Replace · Add)
Master AdjustHue / Saturation Color Wheel · Additive Light · Edge Rim · Shadow · Final Output, and an Advanced folder (off at first)
PerformanceCast 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​

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