Currently, users rely heavily on controller gestures to trigger facial expressions. This can be clunky, prone to accidental triggers, and limiting for desktop players or users with alternative controllers.
We need a custom Unity component that allows avatar creators to easily configure a dedicated "Expression Selection" radial sub-menu. This component should automate the setup of toggles, parameters, and icons for various facial expressions, giving users precise, menu-based control over their avatar's face.
User Story
As an avatar creator, I want a streamlined Unity inspector component where I can define a list of facial expressions, assign icons, and map them to animation clips, so that I don't have to manually build out complex VRChat layers, parameters, and menus for simple expression toggles.
Key Features & Requirements
- Custom Unity Inspector UI: A clean interface that allows creators to add, remove, and reorder expressions in a list.
- Expression Configuration Fields: Each item in the list should accept:
- Expression Name (String)
- Menu Icon (Texture2D/Sprite)
- Animation Clip (AnimationClip)
- Toggle Behavior (Boolean: Saved/Not Saved on avatar reset)
- Automated VRChat SDK Integration:
- Automatically generate or update the
VRCExpressionsMenu.
- Automatically add the required tracking parameters to
VRCExpressionParameters.
- Generate the FX Animator Layer with appropriate states, transitions, and write defaults handling.
- Mutually Exclusive Toggles (Optional/Nice-to-Have): An option to make the expressions mutually exclusive (selecting one turns off the others) or allow stacking.
Acceptance Criteria
Technical Notes
VRChat SDK 3 Compatibility: This component must interface directly with VRC.SDK3.Avatars.Components.VRCAvatarDescriptor, updating the expressionsMenu and expressionParameters fields programmatically via an Editor script.
Avoid modifying the animator controller directly if it can be done via a generated blend tree or a dedicated sub-layer to keep the asset non-destructive.
Currently, users rely heavily on controller gestures to trigger facial expressions. This can be clunky, prone to accidental triggers, and limiting for desktop players or users with alternative controllers.
We need a custom Unity component that allows avatar creators to easily configure a dedicated "Expression Selection" radial sub-menu. This component should automate the setup of toggles, parameters, and icons for various facial expressions, giving users precise, menu-based control over their avatar's face.
User Story
As an avatar creator, I want a streamlined Unity inspector component where I can define a list of facial expressions, assign icons, and map them to animation clips, so that I don't have to manually build out complex VRChat layers, parameters, and menus for simple expression toggles.
Key Features & Requirements
VRCExpressionsMenu.VRCExpressionParameters.Acceptance Criteria
Technical Notes
Avoid modifying the animator controller directly if it can be done via a generated blend tree or a dedicated sub-layer to keep the asset non-destructive.