Skip to main content

Profiles and the Parameter Budget

After reading this page, you will know what Smooth, Compact, and Auto do differently and can decide what to cut when the budget runs out.

The two things VRChat counts​

The Expression Parameters an avatar uses are counted along two axes. They are separate limits.

AxisCeiling MLC uses
Synced bits — what is sent to other users256
Parameter entries — how many parameters are registered8192

The whole avatar shares this budget. MLC reads whatever is already spent outside MLC as the foreign budget and plans within the room that is left.

Profile sits in the Quick Start card of the component inspector and is one of Auto, Smooth, or Compact.

Smooth​

Sends the value as it is.

Kind of featureSynced bitsSynced entries
On/off item11
Value item81

Few entries, and the value moves smoothly. In exchange, each value costs 8 bits.

Compact​

Sends a value item as several on/off parameters split by Gray code, and rebuilds the single value on the receiving side.

The bit count is the smallest number that can hold that item's bin count.

BinsSynced bits
83
164

One value item uses that many synced entries plus one local entry to hold the rebuilt value. In other words, Compact spends fewer bits and more entries.

A value item with fewer than two bins cannot be synced in Compact. Selecting it shows this notice.

This float has fewer than two compact bins and cannot sync in Compact. It becomes local-only at install time.

Auto​

Auto looks at the foreign budget and the target budget together and chooses like this:

  1. If Smooth fits, Smooth.
  2. If it does not, Compact.
  3. If neither fits, planning fails and a message reporting the cost of both profiles is shown.

Choosing Smooth or Compact yourself means no substitution happens. If that profile goes over budget, it simply fails.

Numbers for the default catalog​

Measured with all 23 features of the default catalog enabled.

ProfileSynced bitsParameter entries
Smooth9223 (22 synced + 1 local)
Compact4455 (44 synced + 11 local)

Turn features off and both numbers drop together. The table above holds only for "the default configuration, untouched".

Turning Synced off​

Turn Synced off in Selected Item Settings and that value changes on your own screen only; it is not sent to other users.

  • Synced bits: 0
  • Parameter entries: 1 local entry

For values only you see, such as corrections used for photography, this saves a large number of bits.

Turning Animated off or pinning a value​

Turn Animated off and that feature applies one fixed value at install time, building neither a menu item nor a parameter. The tooltip puts it plainly.

OFF applies one fixed value at install time, reducing menu, Animator layer, and parameter output.

A feature frozen with Pin To Value builds no parameter either. In both cases the synced bits and parameter entries go to 0.

Clear a feature's Enabled altogether and it drops out of both the menu and the budget.

The order to cut in

When bits run short: (1) turn Synced off for values only you use, (2) clear Enabled on features you do not use, (3) turn Animated off for features whose value can stay fixed, (4) switch the profile to Compact. When entries run short, reverse step 4 and go back toward Smooth.

Target Synced Bits and Target Parameter Entries​

Both values sit in Advanced Options. Both are ceilings for the whole avatar, not MLC's share.

ItemAt 0Otherwise
Target Synced BitsUses the remaining VRC budget automaticallyBit ceiling for the whole avatar
Target Parameter EntriesUses the VRC maximumEntry ceiling for the whole avatar

Force Install With Unknown Budget, in the same place, assumes an empty foreign budget when the existing VRC parameters cannot be read. The tooltip nails down the condition.

Assume an empty foreign budget when existing VRC parameters cannot be inspected. Enable only after manual verification.

Reading the Budget & Validation card​

The Budget & Validation section of the component inspector has four lines.

LineMeaning
Synced BitsSmooth 92 / Compact 44 (budget 256) — the cost of both profiles for the current menu layout, and the ceiling
Avatar TotalForeign … bits / … entries + MLC (target …, …) — what is already spent outside MLC, and the targets
SelectedThe profile actually chosen and its cost. If planning fails, Over budget / cannot generate
Enabled Featuresenabled count / total count

The Calculate Budget / Select Profile button in the MLC window (StudioRaming > Ming Light Controller > Open) runs the same calculation.

To check it:

  1. Select the avatar root in the Hierarchy to open the Ming Light Controller inspector.
    • This is correct. The inspector shows the Quick Start · Menu Layout · Selected Item Settings · Budget & Validation · Advanced Options cards.
  2. Open the Budget & Validation card.
    • This is correct. The four lines Synced Bits · Avatar Total · Selected · Enabled Features are visible.
  3. Read the Selected line.
    • This is correct. It shows Smooth or Compact with its cost, and there is no red error box. If it reads Over budget / cannot generate, go to "When you go over budget" below.

When you go over budget​

The card shows one of two messages.

Both profiles over budget (error)

Both profiles exceed the synced budget. Disable features or make some local-only by turning Synced off.

Smooth only over budget (warning)

Smooth exceeds the budget. Use Compact or reduce the enabled features.

When Selected reads Over budget / cannot generate, an error box below it says which profile is short and by how much. Read that number and cut down in the order given above.

Before touching features one at a time, trying a Starting Preset is also an option. The two presets do different things, though.

  • Bit Saving — the enabled features are the same as Recommended; it only pins the profile to Compact. Bits go down and parameter entries go up.
  • Performance — turns off the virtual light, the shared colors, master adjust, and the photo look bits, leaving only the performance items and the commands. The number of enabled features itself drops sharply.

A preset overwrites the current configuration. Applying one erases every per-feature setting you had saved, replaces the whole menu layout, and returns Target Synced Bits and Target Parameter Entries to 0. If you have a configuration you tuned by hand, check it before applying. Undo reverses it.