Material Swap Radial Menu | VRC Avatars for Dummies
A material swap radial menu uses one menu slot to choose between multiple material states. It is useful for color presets, outfit variants, skin modes, or visual themes when a normal toggle is too limited.
Start with one working material swap first. A radial menu adds parameter values, thresholds, animator states, and more testing paths.
Creator: DedZedOffishal
Use the video for the hands-on setup, then use this page to decide whether a radial menu is the right control and how to keep each material state predictable.
Use a radial menu only when one control genuinely needs to choose between several states.
- Make a single material swap work first.
- Map each radial value to a clear material state.
- Upload privately and test every preset, not just the first and last one.
A Radial Puppet drives one float value from 0.0 to 1.0. It can be useful for presets, but fixed choices may be easier to understand with toggles, submenus, or an integer-style selection system.
When A Radial Material Menu Makes Sense
| Avatar feature | Radial menu fit | Why |
|---|---|---|
| Smooth hue or brightness | Strong fit | The radial value naturally maps to a range. |
| Four to eight color presets | Sometimes | It saves menu space, but labels are less obvious. |
| Two outfit choices | Weak fit | A toggle or exclusive pair is clearer. |
| Many outfit sets with names | Weak fit | A submenu is easier to read. |
| Shader intensity or dissolve amount | Strong fit | The player is choosing a continuous value. |
Radials are powerful, but they are not automatically clearer. If users need labels for every option, a submenu may be kinder.
Before You Start
- A working Material Swap.
- A clear list of material states or values.
- One float parameter in the Expression Parameters asset.
- A matching FX controller parameter.
- A known default material state.
- A backup before editing animator logic.
If the feature is a smooth color control, review RGB Radial Slider. If it is a small group of fixed choices, review Exclusive Tags or normal toggle logic.
Build Order
- Choose the material states.
- Decide what each radial range means.
- Create a float expression parameter.
- Add the Radial Puppet control to the Expressions Menu.
- Add the same parameter to the FX controller.
- Use animator states, transitions, or a blend setup to map values to material changes.
- Set the default value to the material the avatar should load with.
- Decide whether the value should be Saved and Synced.
- Upload privately and test every state in VRChat.
For preset selection, write the ranges down. For example, 0.00 default, 0.25 blue, 0.50 red, 0.75 gold, 1.00 glow. That makes later troubleshooting much faster.
Saved And Synced Choices
| Setting | Good use | Watch out for |
|---|---|---|
| Saved | favorite material preset, outfit, or color should persist | saved values can make testing confusing if you forget the previous state |
| Synced | other players must see the same visible material state | synced custom parameters consume parameter sync budget |
| Unsaved | temporary effect or demo control | the state returns to the uploaded default |
VRChat's expression docs explain that puppet controls keep their puppet value after you exit the menu until the value is changed elsewhere. Test that behavior so users are not surprised.
Common Problems
Help! The radial selects the wrong material.
Check the value ranges, animator conditions, blend tree thresholds, and animation clip bindings. Preset radials are sensitive to off-by-one style range mistakes.
Help! The slider moves smoothly but the material snaps.
That may be expected for fixed material presets. If you want smooth change, animate shader properties such as hue, emission, or color instead of swapping complete materials.
Help! The menu is hard to use.
Use a submenu or labeled toggles when the player needs to know the exact option name. Radial controls are compact, but they hide labels once the user is choosing a value.
Help! The chosen material resets.
Check the parameter default and Saved flag. Saved stores the user's value; the default controls the uploaded starting state for unsaved or first-time use.
Related Resources
- VRChat Expressions Menu and Controls
- VRChat Animator Parameters
- VRChat Avatar Optimization Tips
- Material Swap
- RGB Radial Slider
- Saving Toggles
Official References
- Official/source reference: VRChat Expressions Menu and Controls - reviewed 2026-05-26.
- Official/source reference: VRChat Animator Parameters - reviewed 2026-05-26.
- Official/source reference: Unity Materials - reviewed 2026-05-26.
- Local note: Avatar behavior, menu limits, parameters, and third-party tool behavior can change; recheck the linked source before publishing new setup claims.
Final Advice
A radial material menu is best when it saves menu space without hiding the user's intent. Keep the ranges documented, test every state, and choose a simpler control when fixed labels matter more than compactness.
Topics: Material Swap Radial Menu, VRChat avatars, avatar workflow