Make VRCFury Avatar Toggles Mutually Exclusive
VRCFury Exclusive Tags make a set of Toggle components behave one at a time. When the wearer enables one tagged Toggle, VRCFury disables the other active Toggles that share the same tag.
Use this for outfits, held props, material appearances, or visual modes that must not stack. A shared tag defines the conflict group; Exclusive Off State defines the option that returns when every other option in that group is off.
Give three VRCFury Toggles the same tag and make one of them the fallback option.
- Create one working Toggle for Casual, Formal, and Sport outfits.
- Add the Exclusive Tag
outfitsto all three. - Enable Exclusive Off State on Casual, then test every switch direction.
Video Walkthrough
Video creator: DedZedOffishal
Use the walkthrough for the Unity interaction. Use the group maps and test matrix below to avoid conflicting defaults or incomplete tag coverage.
Exclusive Tags and Exclusive Off State are options on a VRCFury Toggle component, not fields in a VRChat Expression Parameters asset. Test the built avatar in VRChat after configuring the VRCFury components.
When Exclusive Tags Fit
| Avatar feature | Exclusive Tags fit |
|---|---|
| Three complete outfits | Strong: only one outfit should remain active |
| Several held props | Strong when props should replace each other |
| Normal, hologram, and glow appearances | Strong when each appearance is a separate Toggle |
| Hat and glasses that may be worn together | Weak: independent Toggles are more appropriate |
| Smooth hue or brightness | Wrong control: use a radial slider |
| One Toggle with a simple on/off state | No exclusive group needed |
Exclusive Tags solve conflicts between VRCFury Toggles. They do not turn an unstructured collection of overlapping actions into a predictable wardrobe automatically; each Toggle still needs a clear on-state.
What You Need
- VRCFury installed through its supported project workflow.
- One VRCFury Toggle component for each option.
- A working action on every Toggle.
- A written list of which options conflict.
- One designated fallback option when the group must never be empty.
- A backup or version-control checkpoint before changing the Toggle set.
1. Map the Conflict Group
For a three-outfit selector:
| Menu option | VRCFury action | Exclusive Tag | Fallback |
|---|---|---|---|
| Casual | Turn on Casual outfit object | outfits |
Exclusive Off State |
| Formal | Turn on Formal outfit object | outfits |
No |
| Sport | Turn on Sport outfit object | outfits |
No |
Use one identical tag value on every Toggle in the group. The label shown in the VRChat menu can differ; the tag is the link between the Toggle components.
2. Build Each Toggle First
Select the object that contains the first VRCFury component:
- Add or open its VRCFury Toggle.
- Set a clear Menu Path, such as
Outfits/Casual. - Select Add Action.
- Choose the action that implements the option.
- Assign the target object, renderer, material, blendshape, or Animation Clip required by that action.
- Repeat for the remaining options.
VRCFury documents several useful Toggle actions:
| Action | Suitable use |
|---|---|
| Object Toggle | Turn an outfit or prop object on or off |
| Material Swap | Replace one material element |
| Material Property | Animate a supported shader property |
| BlendShape | Set a blendshape to a defined value |
| Animation Clip | Run a prepared clip for a more complex option |
Test each Toggle before adding exclusivity. If an individual option cannot turn on and off correctly, adding a shared tag will not repair its action.
3. Add the Shared Exclusive Tag
For each Toggle in the group:
- Open Options.
- Enable or add Exclusive Tags.
- Enter the same tag, such as
outfits. - Check the other components before leaving the Inspector.
Example:
Casual Toggle → outfits
Formal Toggle → outfits
Sport Toggle → outfits
When Formal turns on, the active Casual or Sport Toggle with the same tag turns off.
Tag Naming
Use short names that describe the conflict group:
outfits
tops
bottoms
hand-props
skin-mode
eye-effects
Do not reuse a broad tag on unrelated features. A Toggle sharing outfits participates in that outfit group's one-at-a-time behavior even if its menu label appears elsewhere.
4. Configure the Fallback with Exclusive Off State
VRCFury documents Exclusive Off State as the option that activates automatically when every other Toggle with the same Exclusive Tags is disabled.
For the example group:
- Open the Casual Toggle.
- Open Options.
- Enable Exclusive Off State.
- Leave the option disabled on Formal and Sport.
The expected behavior is:
| Action | Result |
|---|---|
| Turn on Formal | Casual turns off; Formal turns on |
| Turn on Sport | Formal turns off; Sport turns on |
| Turn off Sport | Casual fallback activates |
Use one fallback in a simple group. Multiple Toggles configured as the off state make the intended default ambiguous to the author and harder to test.
5. Set Menu Paths and Persistence
Menu Paths
VRCFury accepts slashes in Menu Path to create submenus:
Outfits/Casual
Outfits/Formal
Outfits/Sport
This keeps every choice in one labeled submenu while preserving separate names.
Saved Between Worlds
Enable Saved Between Worlds when the wearer expects an outfit or appearance to remain selected after changing worlds or avatars.
Apply one deliberate policy across the group:
| Group type | Persistence choice |
|---|---|
| Main outfit selection | Usually saved |
| Temporary effect modes | Usually not saved |
| Test or demonstration states | Not saved while debugging |
After changing persistence settings, test a fresh avatar load and a world change. The fallback and saved selection must not produce overlapping visible options.
6. Use Multiple Tags for Full-Body Outfits
VRCFury supports multiple tags separated by commas.
Example wardrobe:
| Option | Exclusive Tags | Conflict behavior |
|---|---|---|
| Hoodie | tops |
Replaces other tops |
| Jeans | bottoms |
Replaces other bottoms |
| Jumpsuit | tops,bottoms |
Replaces the active top and bottom |
The full-body option participates in both groups:
Hoodie → tops
Jeans → bottoms
Jumpsuit → tops,bottoms
Test both directions. Turning on the Jumpsuit should clear the separate top and bottom choices; leaving the Jumpsuit must restore or expose the intended fallback design for both categories.
7. Exclusive Tags on Slider Toggles
VRCFury's Use Slider Wheel changes a Toggle into a radial slider. Its documentation states that Exclusive Tags or Transition States require Zero is 'Off' (Advanced) on that slider.
Before combining a slider with Exclusive Tags:
- Enable Use Slider Wheel.
- Open its advanced options.
- Enable Zero is 'Off'.
- Add the Exclusive Tags.
- Test the
0%position and a non-zero position after upload.
At 0%, VRCFury treats the slider Toggle as fully off, allowing another tagged option or the Exclusive Off State to become active.
For named outfit choices, separate labeled Toggles are usually easier to inspect and test than a slider.
8. Defaults and Rest Pose
VRCFury's Default On option enables a Toggle when the avatar loads and also affects its Rest Pose behavior. Exclusive Off State also defines a fallback.
Before upload, write down the intended initial result:
| Question | Expected answer |
|---|---|
| Which outfit is visible in the prefab? | Casual |
| Which Toggle is the Exclusive Off State? | Casual |
| Is another Toggle Default On? | No |
| Which option appears after all alternates are disabled? | Casual |
Avoid configuring several competing initial states. Use the VRCFury options and the actual prefab state to produce one observable default, then verify it in the built avatar.
Test Matrix
Test the built avatar in VRChat, not only the Unity Inspector.
| Test | Expected result |
|---|---|
| Avatar loads | One intended default option is visible |
| Casual → Formal | Casual turns off; Formal turns on |
| Formal → Sport | Formal turns off; Sport turns on |
| Sport → Casual | Sport turns off; Casual turns on |
| Casual → Sport | Casual turns off; Sport turns on |
| Sport turns off | Exclusive Off State activates |
| Repeated fast switching | No two tagged options remain active |
| Untagged accessory changes | Outfit selection is unaffected |
| Saved group changes world | Selected option persists as configured |
| Unsaved group reloads avatar | Intended fallback returns |
| Full-body option turns on | Active top and bottom both turn off |
Slider returns to 0% |
Slider is fully off and group fallback can activate |
Troubleshooting
Help! Two tagged outfits remain visible together.
Compare the Exclusive Tags field on both VRCFury Toggles and confirm they contain the same group tag. Then test each Toggle's own off-state to make sure its action actually disables the outfit.
Help! Turning off an outfit leaves the avatar with no outfit.
Choose one fallback Toggle in that group and enable Exclusive Off State on it. Confirm the fallback shares the same Exclusive Tag as every alternate option.
Help! The wrong unrelated feature turns off.
Inspect that feature's Exclusive Tags. Remove any tag shared accidentally with the outfit group, or split the wardrobe into narrower groups such as tops and bottoms.
Help! A full-body outfit does not clear both clothing groups.
Give the full-body Toggle both tags separated by a comma, such as tops,bottoms. Confirm the separate top and bottom Toggles use the matching individual tags.
Help! A slider does not release the exclusive group at zero.
Open the slider Toggle's advanced options and enable Zero is 'Off'. VRCFury requires that option before Exclusive Tags can treat the slider's zero position as fully inactive.
Help! The avatar loads with an unexpected option.
Review Default On, Exclusive Off State, Saved Between Worlds, and the prefab's visible objects. Temporarily disable saving while verifying one intended initial state.
Help! The tag works in Unity but not after upload.
Confirm the avatar was rebuilt and uploaded from the project containing the edited VRCFury components. Test the individual Toggle actions, then inspect the SDK build for errors or VRCFury warnings.
Help! An outfit turns off but leaves part of its mesh visible.
Fix that Toggle's action targets. Exclusive Tags disable the Toggle; every renderer, object, material action, or blendshape belonging to the outfit still needs a complete on/off definition.
Official References
- VRCFury Toggle Component and Exclusive Tags
- VRCFury Actions
- VRChat Expressions Menu and Controls
- VRChat Animator Parameters
Related Avatar Guides
- Create an Object Toggle
- Save Avatar Toggle States
- Swap Avatar Materials from the Expressions Menu
- Select Avatar Materials with a Radial Puppet
- Control Avatar Colors with RGB Radial Puppets
Topics: VRCFury Exclusive Tags, VRChat outfit toggles, avatar wardrobe controls