RGB Radial Slider | VRC Avatars for Dummies
An RGB radial slider lets a player adjust an avatar color from the VRChat Action Menu instead of choosing a single on/off state. It is useful for hair colors, emission intensity, clothing accents, or other shader-driven color controls.
Do this after a simple color animation works. A radial control adds parameter and animator complexity, so it is much easier to debug when you already know the material property can be animated.
Creator: DedZedOffishal
Use the video for the Unity clicks, then use this page to keep the parameter, menu, and shader pieces aligned.
Make one radial value work before building a full RGB system.
- Confirm the shader property visibly changes in Unity.
- Create one float expression parameter and one radial puppet control.
- Upload privately and test saved, synced, and platform behavior before adding more sliders.
A Radial Puppet drives a float from 0.0 to 1.0. Synced custom expression parameters share VRChat's 256-bit sync budget, so only sync values other players actually need to see.
What This Tutorial Helps With
Use this when a color should be adjustable across a range instead of switching between fixed variants.
| Control idea | Better control | Why |
|---|---|---|
| Simple glow on/off | Toggle | One boolean-style state is enough. |
| Brightness or hue amount | Radial Puppet | The player needs a smooth value. |
| Red, green, and blue channels | Three radial controls or a purpose-built shader setup | Each channel needs its own value. |
| A few fixed color presets | Material swap or exclusive choices | Fixed options are easier to test and label. |
Before You Start
- A working avatar upload.
- A material/shader property that can be animated.
- An Expressions Menu and Expression Parameters asset assigned on the Avatar Descriptor.
- A backup of the FX controller and expression assets.
- A plan for whether the color should be saved, synced, both, or neither.
If you are not sure which material property to animate, start with Animation Hue Shift before building the radial control.
Build Order
- Pick one renderer and one material property.
- Create or identify the animation/blend setup that changes that property.
- Add a float parameter to the Expression Parameters asset.
- Add the same float parameter to the FX controller.
- Add a Radial Puppet control in the Expressions Menu.
- Drive the animation or blend tree from that parameter.
- Set the parameter default to the color value you want on avatar load.
- Decide whether
Savedshould be enabled. - Decide whether
Syncedis needed for other players. - Upload privately and test in VRChat.
Keep spelling exact. HairHue, Hair/Hue, and hairHue are different names.
Saved And Synced Choices
| Setting | Use it when | Avoid it when |
|---|---|---|
| Saved | the user expects the color to persist after changing avatars or worlds | the color is temporary or should reset on load |
| Synced | other players need to see the exact chosen color | the value is local-only or only affects the wearer |
| Unsaved default | the avatar should always load in a known color state | the avatar is meant to remember customization |
VRChat's Expressions Menu and Controls page explains how menu controls and expression parameters connect, while Animator Parameters documents parameter types and memory use.
Common Problems
Help! The slider moves but the color does not.
Check the radial control parameter, Expression Parameters asset, FX controller parameter, and animation or blend tree. One mismatched name or wrong parameter type can break the whole chain.
Help! The color resets after avatar reload.
Review the parameter default value and Saved checkbox. Saved parameters remember the user's last value, while unsaved parameters return to the uploaded default.
Help! Other people cannot see the color change.
Check whether the parameter is synced. Only sync it if remote players need the result, because synced parameters consume avatar sync budget.
Help! The color works on PC but not Quest or Android.
Check whether the mobile shader supports the property you are animating. PC-only shader features may not survive the Android avatar version.
Related Resources
- VRChat Expressions Menu and Controls
- VRChat Animator Parameters
- Animation Hue Shift
- Material Swap Radial Menu
- Saving Toggles
- Quest Compatibility Checklist
Official References
- Official/source reference: VRChat Expressions Menu and Controls - reviewed 2026-05-26.
- Official/source reference: VRChat Animator Parameters - 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
Build the smallest useful slider first. When one radial value works, the rest of an RGB system is mostly careful repetition: clear names, correct parameter types, tested defaults, and a shader that supports the look on the platform you care about.
Topics: RGB Radial Slider, VRChat avatars, avatar workflow