Saving Toggles | VRC Avatars for Dummies

Saving toggles is about deciding which avatar menu choices should survive after the user changes worlds, changes avatars, or reloads the avatar. It is controlled by the Saved setting on custom Expression Parameters.

Not every toggle should be saved. Outfit choice, preferred color, or a normal accessory toggle often makes sense to save. Temporary effects, pose buttons, or one-shot animations usually should reset.

Creator: DedZedOffishal

Use the video for the Unity workflow, then use the checks below to decide which parameters should be saved and how to test them in VRChat.

Recommended Setup

Save only the states the wearer expects to keep.

  1. Make the toggle work first.
  2. Set the parameter default and Saved checkbox intentionally.
  3. Upload privately, change the value, reload the avatar, and confirm the result.
VRChat note

Expression parameters include name, type, default value, Saved, and Synced settings. The default controls the uploaded starting state; Saved controls whether VRChat remembers the user's last state.

Saved Or Unsaved?

Toggle type Usually save it? Why
Outfit choice Yes The wearer expects their chosen outfit to stay selected.
Hair or material color Often Persistent customization feels natural.
Prop visibility Depends A favorite accessory may save; a temporary joke prop may reset.
Gesture effect Usually no Temporary effects should not stick unexpectedly.
One-shot animation No Buttons and short effects should reset cleanly.
Debug/test option No Avoid shipping hidden saved states that confuse users.

Before You Start

  • A working toggle from Toggle Object.
  • The correct Expressions Menu and Expression Parameters assets assigned on the Avatar Descriptor.
  • A clear parameter name.
  • A known default state.
  • A private upload for testing.

How To Test Saved Behavior

  1. Upload the avatar privately.
  2. Wear the avatar in VRChat.
  3. Change the toggle in the Action Menu.
  4. Switch to another avatar.
  5. Switch back to the test avatar.
  6. Join a different instance or reload the avatar.
  7. Confirm whether the toggle kept the expected value.

If the toggle should always start off, keep the default off and leave Saved disabled. If it should remember the user's last choice, set the default carefully and enable Saved.

Defaults Still Matter

Saved does not replace a good default. The default is what new users see when they first wear the avatar, and what unsaved parameters return to after reset.

Use boring, predictable defaults:

  • clothing in a normal safe state
  • props hidden unless they are core to the avatar
  • effects off unless they are part of the intended default look
  • sliders set to a visually neutral value

VRChat's Expressions Menu and Controls documentation describes these fields in the Expression Parameters asset.

Common Problems

Help! The toggle resets after changing avatars.

Check whether the parameter is marked Saved in the Expression Parameters asset assigned to the Avatar Descriptor. Also confirm you uploaded the latest version.

Help! The toggle starts on when I wanted it off.

Check the parameter default value and the animator's default state. The menu control, parameter default, and FX controller should agree about the starting state.

Help! Everything is saved and the avatar feels messy.

Turn Saved off for temporary effects, debug toggles, and one-shot controls. Saved should be a user-facing convenience, not a blanket setting.

Help! Other players do not see the saved choice.

Saved and Synced are different settings. Saved remembers the local user's value; Synced sends the current value to other players when that remote visibility is needed.

Related Resources

Final Advice

Saved toggles are quality-of-life polish. Use them when remembering a choice helps the wearer, and leave them off when a feature should reset cleanly. The best test is not in Unity; it is changing avatars and coming back in VRChat.

Topics: Saving Toggles, VRChat avatars, avatar workflow